【发布时间】:2016-05-01 12:00:39
【问题描述】:
是否有命令或 bash 函数来检查文件是否有多行? 假设我有这两个文件:
foo.txt
Hello World
bar.txt
Hello
World
【问题讨论】:
-
试试
wc -l命令。 -
你可以使用
wc -l来统计一个文件的行数。
是否有命令或 bash 函数来检查文件是否有多行? 假设我有这两个文件:
foo.txt
Hello World
bar.txt
Hello
World
【问题讨论】:
wc -l 命令。
wc -l来统计一个文件的行数。
我用这个命令解决了:
wc -l foo.txt | awk '{ print $1 }'
输出:1
wc -l bar.txt | awk '{ print $1 }'
输出:2
这显示了行数,在脚本中我可以检查这个数字是否大于 1,我的问题就解决了。
【讨论】:
wc -l < bar.txt - 这里根本不需要awk。
你可以这样做:
cat foo.txt | wc -l
这将读取文件并返回文件中的行数。
cat - 读取文件
输入wc(字数)-l(行数)
【讨论】:
wc -l foo.txt 或 wc -l < foo.txt ?
你可以使用这个脚本:
名称:test.sh
#!/bin/bash
back=`wc -l $1`
nl=${back:0:1}
if [ $nl = "1" ];then
echo "single line"
else
echo "multi lines"
fi
使用此命令更改文件 mod:
chmod a+x test.sh
然后执行脚本,参数就是你要测试的文件:
./test.sh hello
【讨论】:
*等字符会怎样?如果文件有 10-19 行或 100-199 行会怎样?