同じパターン(パターンは "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
最初の式は、次から始めると次の行に移動し、ORGANISM
それ以外の場合はs
すべての空白を空白(g
グローバル)に置き換えます。
答え3
(?!ORGANISM)
これは、置換を実行する必要があるかどうかを判断するために否定的な予測を使用するPerlバージョンです。-p
フラグで自動印刷可能
$ perl -pe 's/[[:blank:]]//g if /^(?!ORGANISM).*/' input.txt
Cat;Dog;Squirrel
ORGANISM Animalus terrus
Sequence:ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT