ファイルの最後から最後のn文字(\ n \ rと^ Zを含む)を削除する(sedを使用)

ファイルの最後から最後のn文字(\ n \ rと^ Zを含む)を削除する(sedを使用)

奇妙な終わりのファイルがあります。

cat splitted.0473.csv | tail -c 8 | od -c
0000000   6   4   0  \r  \n 032  \r  \n
0000010    

これは032^Z文字を置き換える)。

ファイルの最後から最後の3文字(バイト?)を削除して、次のように見せたいと思います。

cat splitted.0473.csv | tail -c 8 | od -c
0000000   6   4   0  \r  \n
0000010    

いくつかの例を試しましたが、sed成功しませんでした。私は仮定する最後のn文字を削除sed(または他のもの)で達成する方が簡単です。^Z\r\nファイルの末尾の特定の文字を置き換える

ベストアンサー1

以下を使用して最後の行を削除できるはずですsed

sed -i '$d' splitted.0473.csv

-->

$ printf '640\r\n\032\r\n' | sed '$d' | od -c
0000000   6   4   0  \r  \n
0000005

おすすめ記事