Text-Processing

從文件末尾刪除最後 n 個字元(包括 n r 和 ^Z)(使用 sed)

  • October 26, 2022

我有一個文件結尾尷尬的欄位。

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 個字元更容易實現,然後從文件 end**替換特定字元sed^Z\r\n

您應該能夠刪除最後一行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

引用自:https://unix.stackexchange.com/questions/722489