コンテンツ別に最後の2行を削除

コンテンツ別に最後の2行を削除

次のテキストファイルがあります。

    FD488AFF,
    FED6ECFF,
    FFA2A2FF,
    FFD7D8FF,
(
)

最後の文字の後には改行文字もあります)。 macOS端末を使用しており、削除方法を探しています。最後のカンマ、これと最後)、しかも次の文字を返します。

,
(
)

最後の文字の後の改行文字)性格なのに、うまく機能しないようです。必ずしもそうではありませんが、sed端末を使用する必要があります。

ベストアンサー1

ファイルを元に戻して最初の2行を削除し、3行からカンマを削除します。その後、結果を再び反転します。

tac file | sed '1,2d; 3s/,$//' | tac

同じファイルに再保存します。

... | tac > tmp && mv tmp file

または、次のパッケージを使用spongeしてくださいmoreutils

... | tac | sponge file

もう一度考えてみると、これが良いアプローチになります。 edは実際にファイルエディタこれにより、編集して保存できます。

ed file <<'END'
$-1,$d
$s/,$//
wq
END

おすすめ記事