6

例:

入力 =

This is an example text with    some      spaces. 
This should be 2nd line.
However the spaces between "quotes    should not    change".
last line.

出力 =

Thisisanexampletextwithsomespaces. 
Thisshouldbe2ndline.
Howeverthespacesbetween"quotes    should not    change".
lastline.
4

3 に答える 3

3

GNU の例:

$sed -r 's/(\".*\")|\s*/\1/g' ファイル
これは、いくつかのスペースを含むテキストの例です。
これは 2 行目です。
ただし、「引用符間のスペースは変更しないでください」。
最終行。
于 2013-06-25T22:12:54.853 に答える
2

perl を使用して実行できます。

perl -pe 's{^\s*\n$}{}; s/ +(?=(([^"]+"){2})*[^"]*$)//g' file

これにより、すべての空白行または 0 個以上のスペースのみの行が削除され、二重引用符で囲まれていない場合はスペースが削除されます。

ライブデモ: http://ideone.com/xizPNI

于 2013-06-25T16:29:25.270 に答える