我在当前目录的子目录中有文件,文件末尾可能没有换行;如何找到结尾没有换行符的文件?
我已经试过了:
find . -name '*.styl' | while read file; do
awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file;
done
但这不起作用。 awk 'END{print}' $file
与一样在空的新行之前打印该行tail -n 1 $file
。
awk 'END{print}' $file
:这将完全忽略$ file的内容,并且在解析完“ $ file”中包含的所有文件后,将添加换行符。因为它是awk命令打印的唯一内容,所以可以将其替换为:(printf '\n'
完全没有$ file的任何提示),并执行相同的操作。我认为这不是您的目标(即:打印文件的最后一行吗?)
c
,FreeBSD也可以打印,但是我没有注意到它被记录为依赖于实现的文件:gnu.org/software/gawk/manual/…。因此确实发生了,但并非总是如此。