find and replace


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers find and replace
# 1  
Old 04-03-2011
find and replace

I have a tab-delimited inFile:
Code:
cat inFile
A    B    C    D    E    F
1    2    3    4    5    6
a    b    c    d    e    f

I would like to replace the first 3 tabs in each row with underscore to get outFile:
Code:
A_B_C_D    E    F
1_2_3_4    5    6
a_b_c_d    e    f

how can I modify the following code to limit the replacement to only the first 3 tabs in each row?
Code:
awk '{ gsub(/\t/,"_"); print }' inFile > outFile

cat outFile
A_B_C_D_E_F
1_2_3_4_5_6
a_b_c_d_e_f

# 2  
Old 04-03-2011
How about just printing them?

Code:
awk '{ printf("%s_%s_%s_%s", $1, $2, $3, $4);
for(n=5; n<=NF; n++) printf("\t%s", $n);
printf("\n"); }'

# 3  
Old 04-03-2011
thank you. It works.
# 4  
Old 04-03-2011
Code:
$ ruby -F"\t" -ane 'puts $F[0,4].join("_")+"\t"+ $F[4..-1].join("\t")' file

# 5  
Old 04-04-2011
thank you. Ruby is good too.
# 6  
Old 04-04-2011
Code:
awk '{sub(".*"$4,$1"_"$2"_"$3"_"$4)}1' infile

Code:
# cat tst
A    B    C    D    E    F
1    2    3    4    5    6
a    b    c    d    e    f
# nawk '{sub(".*"$4,$1"_"$2"_"$3"_"$4)}1' tst
A_B_C_D    E    F
1_2_3_4    5    6
a_b_c_d    e    f
#

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and replace?

Hi All, I have data like below 1 CREATE TABLE temp123 2 ( 3 col1 INTEGER, 4 col2 CHAR(3) CHARACTER SET LATIN NOT CASESPECIFIC, 5 col3 DECIMAL(19,0), 6 col4 VARCHAR(80) CHARACTER SET LATIN NOT CASESPECIFIC, 7 start_dt DAte FORMAT 'YY/MM/DD', 8 end_dt DATE FORMAT 'YY/MM/DD', 9 datecol1... (6 Replies)
Discussion started by: baranisachin
6 Replies

2. Shell Programming and Scripting

Find and Replace

i am having a file test1.txt and its contents is as follows. <abcaaa bbb ccc ddd> <dddeeeffff> <my computer> <abcmydocuments> Now I need to find the text abc and should be replaced as follows. <abc> <dddeeeffff> <my computer> <abc> First line has the text "abc" and it has to be... (3 Replies)
Discussion started by: kmanivan82
3 Replies

3. Shell Programming and Scripting

Find/Replace

I have the following requirement in the shell script 1. I have more than 200 shell script files. I need to find out how many shell scripts have "sqlplus /" in the shell file 2. I need to replace all the shell scripts in the single command for example: connect scott/scott replace as ... (6 Replies)
Discussion started by: pmsuper
6 Replies

4. Solaris

find/replace?

Dear All To find a file, according to you, I tried as: #find / -name file-name -print To find a string inside the files , I tried as : #find / -name "*" |xargs grep "string" Can you please let me know how can I try for find/replace (i.e. finding the intended string inside the text files... (6 Replies)
Discussion started by: hadimotamedi
6 Replies

5. Shell Programming and Scripting

Find Replace

Need to convert echo "7 6" to $7,$6 But the count of numbers can increase say echo "7,6,8,9" tried this didn't work echo "7 6" | sed 's/\(*\)/\1/' But did not help much (3 Replies)
Discussion started by: dinjo_jo
3 Replies

6. UNIX for Dummies Questions & Answers

find and replace

I am looking to find and replace a string in a file, can anyone suggest a global find and replace. looked at previous replies on other queries but none seem to address what i am looking for. aint familiar with sed so trying to use ordinary unix commands if possible Thanks in advance (2 Replies)
Discussion started by: SummitElse
2 Replies

7. Shell Programming and Scripting

find and replace

hi, i have a data in a file like below: 100 8388kmn844., 8488 200 8398kmn894., 8398 i want replace from kmn to . as null. output should be 100 8388, 8488 200 8398, 8398 Plz help. Thanks in advance (1 Reply)
Discussion started by: javeed7
1 Replies

8. Shell Programming and Scripting

find and replace

Hi, There are some "n" files in a directory which contains comman string.A command to find and replace the string in all the files without looping. like if i am in a directory : # find ./ -name ".txt" | xargs sed -e 's/test/tst' Upto here is performed correctly and i want to... (4 Replies)
Discussion started by: rakshit
4 Replies

9. UNIX for Advanced & Expert Users

Please help with find and replace:

Hi I am trying to find a product code hightlighted in red, and re-insert it at another place on the same file. I shall be grateful if anyone can help me with this. Stuck and have deadline!!:confused: Original Line: (I can get source data in one of these two formats) ISD=977155185403901+DIE... (2 Replies)
Discussion started by: gloovy_tb
2 Replies

10. UNIX for Dummies Questions & Answers

find and replace

I have statement like this column_id.columnname=="value" in unix i want to modify above statement to variable1=="value" that means i have to replace the string before "==" by string "variable1" second catch is, in statement instead of "==" you can have any arithmatic comarision... (7 Replies)
Discussion started by: mahabunta
7 Replies
Login or Register to Ask a Question