用Shell判断一个给定文件的行数是否为奇数

谢谢

(($((`cat file | wc -l`%2))==0))&&echo file的行数是偶数! || echo file的行数是奇数!

代码中file是你的文件,可自行修改,

 

补充其他计算file有多少行的方法(喜欢那个用哪个):

line=`awk '{print NR}' file|tail -n1`
line=`awk 'END{print NR}' file`
line=`sed -n '$=' file`
line=`grep -n "" file|awk -F: '{print '}|tail -n1`

得到行数之后,可以使用以下代码判断奇偶数:

(($((line%2))==0))&&echo file的行数是偶数! || echo 文件行数是奇数!

 

当然还有其他判断奇偶数的办法,就不赘述了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-05
if [ $# -ne 1 ];then
    echo "USAGE: $0 filename"
    exit
fi
if [ ! -f $1 ];then
    echo "文件 $1 不存在"
    exit
fi
line=`wc -l $1|awk '{print $1}'`
m=$(($line%2))
if [ $m -eq 1 ];then
    echo "文件 $1 行数$line 是奇数"
else
    echo "文件 $1 行数$line 是偶数"
fi

追问

只用9-15行,只用wc 能实现吗 ,精简一点,谢谢

追答

那就 暗夜々幽魂这位仁兄的了

第2个回答  2013-12-05
ghg个合格合格后
相似回答