不能在单行文件上使用 Linux wc
Can't use Linux wc on one-line file
我有一个单行文件,行尾没有换行符。当我 运行 以下内容时:
diff oneline-file.txt any-file.txt | wc -c
我得到:
Warning: missing newline character in oneline-file.txt
为什么这是一个错误?我该如何解决?我可以先这样做:
echo "\n" >> oneline-file.txt
我宁愿做一些不改变文件的事情。谢谢
您可以将 echo
的结果通过管道传输到 diff
,将文件名作为 diff
的参数替换为 -
(告诉它获取该输入来自标准输入)。
您可以使用进程替换来回显文件后的换行符:
diff <(cat oneline-file.txt; echo "") any-file.txt | wc -c
感谢 Barmar。这引导我朝着正确的方向前进。这是我使用的:
diff <(sed 's/$/\n/g' oneline-file.txt) <(cat any-file.txt) | wc -c
我有一个单行文件,行尾没有换行符。当我 运行 以下内容时:
diff oneline-file.txt any-file.txt | wc -c
我得到:
Warning: missing newline character in oneline-file.txt
为什么这是一个错误?我该如何解决?我可以先这样做:
echo "\n" >> oneline-file.txt
我宁愿做一些不改变文件的事情。谢谢
您可以将 echo
的结果通过管道传输到 diff
,将文件名作为 diff
的参数替换为 -
(告诉它获取该输入来自标准输入)。
您可以使用进程替换来回显文件后的换行符:
diff <(cat oneline-file.txt; echo "") any-file.txt | wc -c
感谢 Barmar。这引导我朝着正确的方向前进。这是我使用的:
diff <(sed 's/$/\n/g' oneline-file.txt) <(cat any-file.txt) | wc -c