3

ほとんどの(すべてではない)行がセミコロンで終わるファイルがあります。セミコロンで終わらない行のみにセミコロンを追加したいと思います。ありがとう

4

2 に答える 2

7

技術的には、これは機能します:

sed '/;$/!s/$/;/' input

しかし、おそらく末尾の空白が気になるので、次のようにします。

sed '/; *$/!s/$/;/' input

あなたのsedがサポートしている場合\s

 sed '/;\s*$/!s/$/;/' input

または、次を使用することもできます。

sed '/;[[:space:]]*$/!s/$/;/' input
于 2012-08-30T17:48:27.490 に答える
4

sed を使用:

sed -i '/[^;] *$/s/$/;/' input_file

つまり:

-i          overwrite the original file with new contents
/[^;] *$/   find lines that do not contain a `;` at the end (after 
            ignoring trailing spaces)
s/$/;/      add a semicolon at the end
于 2012-08-30T17:49:03.937 に答える