Sponsored Content
Full Discussion: Simple awk script question
Top Forums Shell Programming and Scripting Simple awk script question Post 58955 by Bab00shka on Monday 6th of December 2004 09:10:30 AM
Old 12-06-2004
Question Simple awk script question

Hi,

I'm a total beginner at awk and hope someone can advise what I have done wrong in the following script:

I have a file which (to simplify things) may be something like this

Fred Smith and Sue Brown
Joe Jones and Jane Watts
Sally Green and Jim O?
Connor
Freda O?
Reiley and Pat O?
Connell
Peter Parker and Tina Williams

Notice some of the names are split. I need the file to look like this:

Fred Smith and Sue Brown
Joe Jones and Jane Watts
Sally Green and Jim O?Connor
Freda O?Reiley and Pat O?Connell
Peter Parker and Tina Williams

I had a go at writing the following:

cat input_file | awk '
BEGIN { totalline=""; flag=0 }
/\?\047$/ { totalline=totalline $0; flag=1 }
{ if (totalline == "" ) print $0 }
{ if (totalline != "" && flag == 0 ) print totalline, $0; totalline="" }
{ flag=0 }
' > output_file

But the output is

Fred Smith and Sue Brown
Joe Jones and Jane Watts
Connor
Connell
Peter Parker and Tina Williams

I'm not totally comfortable with awk syntax but I think I may not be adding the two strings together correctly.

Please help
Cheers
Helen Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple awk If Satement question.

Trying to write an if statement, which calls2 or 3 functions from within it. code: {if (($34 != "") && (NR != 1) && ($1 != "F")) less_than(34, 0, "S1002a") is_number(34,"S1002a") } But this is only treating the first function call, as part of the if. and always executes is_number.... (1 Reply)
Discussion started by: natdeamer
1 Replies

2. UNIX for Dummies Questions & Answers

simple awk question

Hello, I'm trying to use awk to print lines that match a regular expression. I am using awk to print a record only if it contains N/A. awk '/N/A/ {print $1}' When executed the script returns "awk syntax error near line 1". If I use /N//A/ it prints all records containing a "/", not... (2 Replies)
Discussion started by: orahi001
2 Replies

3. UNIX for Dummies Questions & Answers

simple awk question

Hi , I have a simple question in awk, i have long string which i am getting for a grep command. the output contains 50 fields. I need to display like first 5 fileds in a line and rest of all fields in the next line. { for(i=5;i<NF;++i) s= $i; print $1,$2,$3,$4,$5,"\n",$s} Is the above... (1 Reply)
Discussion started by: senthilkumar_ak
1 Replies

4. Shell Programming and Scripting

simple awk/sed/tr question

I have a file CREATE TABLE DDD_EXT --- 1000 ( val u1 val u1 ); CREATE TABLE dsdasd_EXT --- 1323 ( val u1 val u1 ); CREATE TABLE AAAAAA_EXT --- 1222 ( val u1 val u1 ); CREATE TABLE E_EXT --- 11 ( val u1 val u1 (2 Replies)
Discussion started by: jville
2 Replies

5. Shell Programming and Scripting

simple awk question: split field with :

Hi, Probably a very weak question.. but I have tried all I know.. BPC0001:ANNUL_49542 0.0108 -0.0226 -0.0236 0.0042 0.0033 -0.0545 0.0376 0.0097 -0.0093 -0.032 Control BPC0002:ANNUL_49606 0.0190 -0.0142 -0.0060 -0.0217 -0.0027 ... (3 Replies)
Discussion started by: genehunter
3 Replies

6. UNIX for Dummies Questions & Answers

Simple AWK question

Hi, let's assume i have an output below: orgauser 23826 :E:Validity senerse 2096 senerse 2111 senerse 21585 senerse 21596 root 12653 -bash root 17262 root 17278 Some lines have not any string in their third column. I don't want to see those lines. i just want to see the lines... (3 Replies)
Discussion started by: oduth
3 Replies

7. UNIX for Dummies Questions & Answers

awk simple question

Can anyone tell me please what the "+" is doing in this awk command? find / -user smith -type f -ls | awk '{ sum += $7 } END {print sum }' Thanks, George (2 Replies)
Discussion started by: george_vandelet
2 Replies

8. Shell Programming and Scripting

Simple awk question

Hi All, A very silly question: How to just print the integer attached a particular string in a line by awk? Ex: Happy_world_foo123...So i just want the value 123 to be printed on the line where we have string "foo". Thanks (16 Replies)
Discussion started by: Indra2011
16 Replies

9. Shell Programming and Scripting

awk help - Simple question

I have what a think is a simple question but I'm just a beginner in scripting. I'm my unix command line I run a date command that returns the following: Wed Apr 3 10:39:30 EDT 2013 How do I awk out the "10" only in awk? Or is awk the way to do it or is there a better way? (7 Replies)
Discussion started by: scj2012
7 Replies

10. Shell Programming and Scripting

Simple awk question

Here is an awk line I have in a bigger script that checks to see if nimsh process is running and does couple other things based on the output and runs on all servers. ps -ef|grep -i nimsh|awk '{print $9}' and I am expecting output to be "/usr/sbin/nimsh" I find that on some servers... (4 Replies)
Discussion started by: kvosu
4 Replies
LDAP_MODIFY_BATCH(3)							 1						      LDAP_MODIFY_BATCH(3)

ldap_modify_batch - Batch and execute modifications on an LDAP entry

SYNOPSIS
bool ldap_modify_batch (resource $link_identifier, string $dn, array $entry) DESCRIPTION
Modifies an existing entry in the LDAP directory. Allows detailed specification of the modifications to perform. PARAMETERS
o $link_identifier - An LDAP link identifier, returned by ldap_connect(3). o $dn - The distinguished name of an LDAP entity. o $entry - An array that specifies the modifications to make. Each entry in this array is an associative array with two or three keys: attrib maps to the name of the attribute to modify, modtype maps to the type of modification to perform, and (depending on the type of modification) values maps to an array of attribute values relevant to the modification. Possible values for modtype include: o LDAP_MODIFY_BATCH_ADD - Each value specified through values is added (as an additional value) to the attribute named by attrib. o LDAP_MODIFY_BATCH_REMOVE - Each value specified through values is removed from the attribute named by attrib. Any value of the attribute not contained in the values array will remain untouched. o LDAP_MODIFY_BATCH_REMOVE_ALL - All values are removed from the attribute named by attrib. A values entry must not be pro- vided. o LDAP_MODIFY_BATCH_REPLACE - All current values of the attribute named by attrib are replaced with the values specified through values. Note that any value for attrib must be a string, any value for values must be an array of strings, and any value for modtype must be one of the LDAP_MODIFY_BATCH_* constants listed above. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 Add a telephone number to a contact <?php $dn = "cn=John Smith,ou=Wizards,dc=example,dc=com"; $modifs = [ [ "attrib" => "telephoneNumber", "modtype" => LDAP_MODIFY_BATCH_ADD, "values" => ["+1 555 555 1717"], ], ]; ldap_modify_batch($connection, $dn, $modifs); ?> Example #2 Rename a user <?php $dn = "cn=John Smith,ou=Wizards,dc=example,dc=com"; $modifs = [ [ "attrib" => "sn", "modtype" => LDAP_MODIFY_BATCH_REPLACE, "values" => ["Smith-Jones"], ], [ "attrib" => "givenName", "modtype" => LDAP_MODIFY_BATCH_REPLACE, "values" => ["Jack"], ], ]; ldap_modify_batch($connection, $dn, $modifs); ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE); ?> Example #3 Add two e-mail addresses to a user <?php $dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com"; $modifs = [ [ "attrib" => "mail", "modtype" => LDAP_MODIFY_BATCH_ADD, "values" => [ "jack.smith@example.com", "jack.smith-jones@example.com", ], ], ]; ldap_modify_batch($connection, $dn, $modifs); ?> Example #4 Change a user's password <?php $dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com"; $modifs = [ [ "attrib" => "userPassword", "modtype" => LDAP_MODIFY_BATCH_REMOVE, "values" => ["Tr0ub4dor&3"], ], [ "attrib" => "userPassword", "modtype" => LDAP_MODIFY_BATCH_ADD, "values" => ["correct horse battery staple"], ], ]; ldap_modify_batch($connection, $dn, $modifs); ?> Example #5 Change a user's password (Active Directory) <?php function adifyPw($pw) { return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"'); } $dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com"; $modifs = [ [ "attrib" => "unicodePwd", "modtype" => LDAP_MODIFY_BATCH_REMOVE, "values" => [adifyPw("Tr0ub4dor&3")], ], [ "attrib" => "unicodePwd", "modtype" => LDAP_MODIFY_BATCH_ADD, "values" => [adifyPw("correct horse battery staple")], ], ]; ldap_modify_batch($connection, $dn, $modifs); PHP Documentation Group LDAP_MODIFY_BATCH(3)
All times are GMT -4. The time now is 08:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy