
同じパターン (パターンは「ORGANISM」) で始まるすべての行を除いて、ファイルからすべてのスペースを削除したいと思います。
入力:
Cat; Dog; Squirrel
ORGANISM Animalus terrus
Sequence: ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
出力:
Cat;Dog;Squirrel
ORGANISM Animalus terrus
Sequence:ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
「ORGANISM」という文字で始まる行を除いて、どの行にもスペースはありません。
答え1
sed '/^ORGANISM/!s/ //g' /path/to/input
これにより、すべての行のスペースがすべて削除されます。ない皮切りにORGANISM
。
答え2
sed -e '/^ORGANISM/n' -e 's/ //g' < input > output
最初の式は、n
で始まっている場合は ext 行にジャンプしORGANISM
、そうでない場合はs
すべてのスペースを何もないものに置き換えます (g
局所的に)
答え3
(?!ORGANISM)
置換を実行する必要があるかどうかを判断するために否定先読みを使用するPerlバージョンを示します。-p
フラグは自動印刷を可能にします
$ perl -pe 's/[[:blank:]]//g if /^(?!ORGANISM).*/' input.txt
Cat;Dog;Squirrel
ORGANISM Animalus terrus
Sequence:ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT