Find && Gawk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find && Gawk
# 1  
Old 02-26-2015
Find GAWK && SED

I have several of the same file names(facts) in different directories that are "|" pipe delimited and are like such:
PHP Code:
xxx.xxx.xxx.xx1|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx2|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx3|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx3|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host 
I have a need to only remove only the word "host" from the fourth field to produce:
PHP Code:
xxx.xxx.xxx.xx1|blah|a||FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx2|blah|a||FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx3|blah|a||FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx3|blah|a||FQDN|domain||extra stuff blah1 blah2 host 
This appears to work:
PHP Code:
find results/ -iname 'host' -print0|xargs -0 awk -F\| '$4 ~/host/'|sed 's/host//'
xxx.xxx.xxx.xx1|blah|a||FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx2|blah|a||FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx3|blah|a||FQDN|domain||extra stuff blah1 blah2 host
xxx
.xxx.xxx.xx3|blah|a||FQDN|domain||extra stuff blah1 blah2 host 
but when I attempt to implement it using the "i" in sed, I get:
PHP Code:
find results/ -iname 'facts' -print0|xargs -0 awk -F\| '$4 ~/host/'|sed -'s/host//'
sedno input files
xargs
awkterminated by signal 13 
I have tried several different variation using grep
PHP Code:
grep -ir  '*' results/*/facts|gawk -F '|' '{IGNORECASE=1;} ($4) ~/host/ {print $0}'|sed -i 's/host//' 
doesnt find anything. ???

Last edited by metallica1973; 02-26-2015 at 11:08 AM..
# 2  
Old 02-26-2015
Do you have read/write access to the files and the directories? sed -i writes to a temporary file behind the scenes.
# 3  
Old 02-26-2015
thank you for you reply. I made a variation but essentially the same thing with the following output using sudo:
PHP Code:
sudo find . -iname 'facts' -print0 sudo xargs -0 gawk -'|' '{IGNORECASE=1;} ($4)~/host/ {print $0}'sudo xargs sed 's/host//
sed: can'
t read xxx.xxx.xxx.xx1|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host
sed
can't read xxx.xxx.xxx.xx2|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host
sed: can'
t read xxx.xxx.xxx.xx3|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host
sed
can't read xxx.xxx.xxx.xx3|blah|a|host|FQDN|domain||extra stuff blah1 blah2 host 
---------- Post updated at 04:03 PM ---------- Previous update was at 11:41 AM ----------

I end up finding out that it was a single file that had just those entries and simply used this one-liner to complete the job:
PHP Code:
gawk -'|' -v OFS='|' '{IGNORECASE=1;} {if ($4 ~/host/) $4=""; print $0}' <factsfacts.test 
mission complete.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SFTP Shell Script Get & Delete && Upload & Delete

Hi All, Do you have any sample script, - auto get file from SFTP remote server and delete file in remove server after downloaded. - only download specify filename - auto upload file from local to SFTP remote server and delete local folder file after uploaded - only upload specify filename ... (3 Replies)
Discussion started by: weesiong
3 Replies

2. Shell Programming and Scripting

Using Grep & find & while read line in a script

Hello people! I would like to create one script following this stage I have one directory with 100 files File001 File002 ... File100 (This is the format of content of the 100 files) 2012/03/10 12:56:50:221875936 1292800448912 12345 0x00 0x04 0 then I have one... (0 Replies)
Discussion started by: Abv_mx81
0 Replies

3. Shell Programming and Scripting

Sort a the file & refine data column & row format

cat file1.txt field1 "user1": field2:"data-cde" field3:"data-pqr" field4:"data-mno" field1 "user1": field2:"data-dcb" field3:"data-mxz" field4:"data-zul" field1 "user2": field2:"data-cqz" field3:"data-xoq" field4:"data-pos" Now i need to have the date like below. i have just... (7 Replies)
Discussion started by: ckaramsetty
7 Replies

4. Shell Programming and Scripting

Replace & sign to &amp word

Hi, I have text file abc.txt. In this file, I have the following data. Input: Mr Smith &amp Mrs Smith Mr Smith &apos Mrs Smith Mr Smith & Mrs Smith Mr Smith& Mrs Smith Mr Smith &Mrs Smith Output: Mr Smith &amp Mrs Smith Mr Smith &apos Mrs Smith Mr Smith &amp Mrs Smith Mr Smith&amp... (4 Replies)
Discussion started by: naveed
4 Replies

5. Shell Programming and Scripting

awk (gawk) grep & columns

Hi, I'm working with gawk (on DOS) today. A goal is: find a string for-instance '123', cut a line in two columns and write second one. The problem is: command line works OK, awk file doesn't. But I would like to work with file because there are many strings to find. input: line command: awk... (4 Replies)
Discussion started by: frajer
4 Replies

6. Red Hat

/usr/bin/find && -exec /bin/rm never work as expected

hi there, Would you able to advise that why the syntax or statement below couldn't work as expected ? /usr/bin/find /backup -name "*tar*" -mtime +2 -exec /bin/rm -f {} \; 1> /dev/null 2>&1 In fact, I was initially located it as in crontab job, but it doesn't work at all. So, I was... (9 Replies)
Discussion started by: rauphelhunter
9 Replies

7. Shell Programming and Scripting

replace & with &amp; xml file

Hello All I have a xml file with many sets of records like this <mytag>mydata</mytag> <tag2>data&</tag2> also same file can be like this <mytag>mydata</mytag> <tag2>data&</tag2> <tag3>data2&amp;data3</tag3> Now i can grep & and replace with &amp; for whole file but it will replace all... (4 Replies)
Discussion started by: lokaish23
4 Replies

8. Shell Programming and Scripting

PHP read large string & split in multidimensional arrays & assign fieldnames & write into MYSQL

Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP. I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Discussion started by: lowmaster
0 Replies

9. Shell Programming and Scripting

Find & Replace string in multiple files & folders using perl

find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g' this is simple logic to find and replace in multiple files & folders Hope this helps. Thanks Zaheer (0 Replies)
Discussion started by: Zaheer.mic
0 Replies

10. Shell Programming and Scripting

gawk - reading two files & re arrange the columns

Hi, I am trying to read 2 files and writing to the 3rd file if I find the same elements in 2 files. my first file is 1 0 kb12124819 766409 1.586e-01 1 0 kb17160939 773886 8.674e-01 1 0 kb4475691 836671 8.142e-01 1 0 ... (2 Replies)
Discussion started by: ezhil01
2 Replies
Login or Register to Ask a Question