5 command-line truncate sed stream
我用来sed -e '$s/.$//'修剪流的最后一个字符。这是正确的方法吗?使用其他命令行工具还有其他更好的方法吗?
$ builtin printf 'a\nb\0' | sed -e '$s/.$//' | od -c -t x1 -Ax
000000 a \n b
61 0a 62
000003
Run Code Online (Sandbox Code Playgroud)
编辑:看来这个命令并不健壮。a\nb以下示例的预期输出。需要更好的方法(但不要太冗长)。
$ builtin printf 'a\nb\n' | sed -e '$s/.$//' | od -c -t x1 -Ax
000000 a \n \n
61 0a 0a
000003
Run Code Online (Sandbox Code Playgroud)
您可以使用head -c -1:
printf 'a\nb\0' | head -c -1 | od -c -t x1 -Ax
000000 a \n b
61 0a 62
000003
printf 'a\nb\n' | head -c -1 | od -c -t x1 -Ax
000000 a \n b
61 0a 62
000003
Run Code Online (Sandbox Code Playgroud)