Question about awk scripting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Question about awk scripting
# 8  
Old 05-19-2014
Hi,

Just need clarification here,

1. What is the purpose mentioning 1 after gsub {gsub(/\|/, " ", $2)}1'
2. Cant i do without FIELDWIDTH because i have more than 190 columns in my datafile.
3. Cant i use substr as target in gsub/sub function gsub(/\|/," ",substr($0,13,17))

Moderator's Comments:
Mod Comment Please start using code tags. You got a PM about it, thanks.


---------- Post updated at 08:55 AM ---------- Previous update was at 04:46 AM ----------

Hi,

I am not getting the result, please look at what i tried.

Code:
EMP|IX28|Mordasini |Luca      |IX|
EMP|IX29|NAN|THA |J|rgen    |IX|
EMP|IX30|Ke|s       |Peter     |IX|
EMP|IX31|Mayer     |Bernard   |IX|
EMP|IX32|Ohnacker |Martin    |IX|
EMP|IX33|Pankratz  |Ewald     |IX|
EMP|IX34|Seitz      |Matthias  |IX|
EMP|IX35|Straub    |Michael   |IX|
EMP|IX36|von Alkier|Jacqueline|IX|
EMP|IX37|Wu         |Qin Jane  |IX|

The above highlighted data | symbol should be remvoed. Hence i have issued,
Code:
 
cat TESTFILE2 | awk ' BEGIN { FIELDWIDTHS = "4 5 11 11 3"} { gsub(/\|/," ",$3) }1'  FS=\| OFS=\|> TESTFILE3

But output comes adjusted
Code:
 
EMP|IX28|Mordasini |Luca  IX 
EMP|IX29|NAN|THA |J|rgen  IX 
EMP|IX30|Ke|s |Peter  IX 
EMP|IX31|Mayer |Bernard  IX 
EMP|IX32|Ohnacker |Martin  IX 
EMP|IX33|Pankratz |Ewald  IX 
EMP|IX34|Seitz |Matthias  IX 
EMP|IX35|Straub |Michael  IX 
EMP|IX36|von Alkier|Jacqueline|IX|
EMP|IX37|Wu        |Qin Jane  |IX|

Questions :

1. $3 should represent 3rd field ?
2. There are pipe as column delimeter but someother | is replacing.

Please assist

Regards,
Nandy

Last edited by jim mcnamara; 05-19-2014 at 11:38 AM.. Reason: code tags
# 9  
Old 05-19-2014
Give this a try:
Code:
awk '{x=substr($0,10,10); gsub(/\|/," ",x); print substr($0,0,10), x, substr($0,20)}' OFS="" file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Scripting question

hi all, I am writing a script and beginner in shell scripting. I have tried the below script. could you please check and let me know whether the below scirpt is correct. Unix details : HP Unix Input file. cat input.txt | tail -4 HTS40002.W1978.PROM HTS40003.W1978.PROM... (17 Replies)
Discussion started by: arun888
17 Replies

2. Shell Programming and Scripting

Scripting question

Hi I am trying to write a small script which takes one by one file name from a txt file and do a 'll' and need to check if equal to the given month, otherwise it should return back the file name. Note: the file name contains parameter. My code is given below: It is not working .. giving error... (6 Replies)
Discussion started by: Ravindra Swan
6 Replies

3. Shell Programming and Scripting

Scripting question

Preview of command prompt f ---> to start ferret q----> to stop ferret asp@nex:~$ f NOAA/PMEL TMAP FERRET v6.82 Linux 2.6.18-308.8.2.el5PAE 32-bit - 08/03/12 3-Dec-12 16:44 yes? go my.jnl yes?column=4/skip=1/type=num,text ............filename.txt ---... (4 Replies)
Discussion started by: nex_asp
4 Replies

4. Shell Programming and Scripting

scripting/awk help : awk sum output is not comming in regular format. Pls advise.

Hi Experts, I am adding a column of numbers with awk , however not getting correct output: # awk '{sum+=$1} END {print sum}' datafile 2.15291e+06 How can I getthe output like : 2152910 Thank you.. # awk '{sum+=$1} END {print sum}' datafile 2.15079e+06 (3 Replies)
Discussion started by: rveri
3 Replies

5. UNIX for Dummies Questions & Answers

Scripting question

folks; I have a script to remove any files that older than 14 days then move any files that younger than 7 days to another directory. but for some reason it doesn't move the files, when i do it manually it works but not through the script. i tried 2 different ways in writing the move part but it... (6 Replies)
Discussion started by: Katkota
6 Replies

6. Shell Programming and Scripting

Scripting question

Folks; I'm writing a shell script to extract some fields out of a log file & it will run periodically, how can i make it runs starting from where it left of. for example; if the script will do the extract every 2 days, let's say the first run will extract fields until July 25, 2007 @ 11:15:22... (1 Reply)
Discussion started by: moe2266
1 Replies

7. Solaris

Scripting question

I'm writing a small script that will run an executable program (sort of like TOP). To exit the executable, you have to enter control C (^c). I'm trying to use a redirect input file to send the ^c but I'm not having any luck. My short script looks like this - /mydirectory/abc.script < abc.in >... (1 Reply)
Discussion started by: gonzotonka
1 Replies

8. Shell Programming and Scripting

scripting question

I'm new to shell scripting and am having a problem trying to do something in C shell. I want to write a script that will input something instead of a user doing it. For example, using the command 'write' the user is supposed to type something to be sent to another user. I want a script to be able... (3 Replies)
Discussion started by: batmike
3 Replies

9. Shell Programming and Scripting

another scripting question

Hello I am working on cleaning up permissions on Oracle mountpoints and datafiles in unix. I am looking for a script or a scripting idea to 1st. 1. grep for owner oracle 2. ensure its a directory owned for oracle 3. chmod 750 on the oracle owned directory. 4. grep for oracle files, etc... (3 Replies)
Discussion started by: jigarlakhani
3 Replies

10. UNIX for Dummies Questions & Answers

another scripting question

I am writing a script that will identify the oldest file in a directory. Here's the syntax: #!/bin/ksh cd directory chmod 777 * ls -r -1t > file1 sed -n -e "1P" < file1 > file2 So my problem is, now I have file2, which contains the name of the oldest file in the directory. How do I use,... (1 Reply)
Discussion started by: kristy
1 Replies
Login or Register to Ask a Question