【发布时间】:2013-11-19 20:46:32
【问题描述】:
我刚刚跑了:
grep "" *.txt > out.txt
在 1500 个文件上。输出只包含几百个文件。为什么?
使用时:
cat *.txt > out.txt
这可行,但我希望文件名作为行名。
谢谢!
【问题讨论】:
-
您收到错误消息了吗?
grep有多种实现方式;grep --version打印有用的东西吗?所有*.txt文件实际上都是文本文件吗? -
grep (BSD grep) 2.5.1-FreeBSD。是的,它们都是同一类型。没有错误。
-
有些是空的,有关系吗?
-
空文件应该没有任何区别。试试这个:
ls *.txt | wc -l ; grep "" *.txt | wc -l ; cat *.txt | wc -l——第一个应该告诉你有多少*.txt文件;第二个和第三个应该给你相同的结果。 -
我得到三个值:1452 2118 21634。第一个是文件数。另一个是什么?
标签: shell unix command-line grep cat