![]() |
|
|
|||||||
| Home | Forums | Register | Rules & FAQ | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| UNIX for Advanced & Expert Users Advanced UNIX and Linux questions go here. Expert-to-Expert. |
Other UNIX.COM Threads You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Find a word and delete the line | gsusarla | UNIX for Dummies Questions & Answers | 1 | 04-02-2008 11:45 AM |
| Read line by line not word by word | vadharah | Shell Programming and Scripting | 6 | 03-02-2008 10:29 AM |
| how to move word by word on command line | pbsrinivas | UNIX for Dummies Questions & Answers | 1 | 11-23-2007 02:17 AM |
| Can a shell script pull the first word (or nth word) off each line of a text file? | tricky | Shell Programming and Scripting | 5 | 08-17-2006 03:29 AM |
| ls -R command but need complete path name on each line | condor4-2 | UNIX for Advanced & Expert Users | 2 | 12-12-2005 07:22 AM |
![]() |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|||
|
Delete a word and complete line
Hi Canone please provide me solution how can achieve the result below:
File1.txt $ sweet apple£1 scotish green $ This is a test1 $ sweet mango£2 asia yellow $ This is a test 2 $ sweet apple red (there is no pound symbol here) germany green $ This is a test 3 $ Result required: delete the word "sweet" from lines which has a "£" symbol and everything after £ in that line. And delete exactly two lines below £. Expected result as: $ apple£ $ This is a test $ mango£ $ This is test2 $ sweet apple red (there is no pound symbol here) germany green $ This is a test 3 $ |
| Forum Sponsor | ||
|
|
|
|||
|
Put this code in a file.
File: my-awk Code:
BEGIN {
RS="\n\$\n"
FS="\n"
ORS="\n$\n"
}
/£/ {
sub(/sweet /, "", $1)
sub(/£.+/, "£", $1)
print $1
}
!/£/ {
print $0
}
Code:
$ awk -f my-awk your-file-to-process |
|||
| Google UNIX.COM |