我有一个文本文件,如下所示
OG1: Panda|Koala_1.2_animals Panda|Koala_extinct Elephant|Ostrich_1_0_mammal_bird
OG2: Panda|Koala_1.2_animals Panda|Koala_cute Oyster|Ostrich_1_0_seafood_bird
OG3: Panda|Koala_animals Platypus|Hummingbird_1_0_mammal_bird
OG4: Platypus|Hummingbird_1_0_mammal_bird
我想删除任何以Panda | Koala开头的单词,直到该空间有多少次出现该模式
OG1: Elephant|Ostrich_1_0_mammal_bird
OG2: Oyster|Ostrich_1_0_seafood_bird
OG3: Platypus|Hummingbird_1_0_mammal_bird
OG4: Platypus|Hummingbird_1_0_mammal_bird
我尝试使用
sed'/Panda|Koala/d' data.txt
这将删除包含模式
的整行答案 0 :(得分:2)
您需要使用空字符串替换,请使用替换命令s/pattern/replacement/
:
sed 's/Panda|Koala[^ ]* *//g' data.txt
[^ ]
表示不是空格的字符,g
执行该行中所有匹配项的替换。
答案 1 :(得分:1)
awk '{print " "$1,$NF}' file
OG1: Elephant|Ostrich_1_0_mammal_bird
OG2: Oyster|Ostrich_1_0_seafood_bird
OG3: Platypus|Hummingbird_1_0_mammal_bird
OG4: Platypus|Hummingbird_1_0_mammal_bird