当前位置: 技术问答>linux和unix
文本文件是否为空的问题,急!!
来源: 互联网 发布时间:2015-01-18
本文导语: 小弟写了一个shell脚本time.sh: file="/lwa/err.txt" time=`date "+%m%d%H%M" if test -s $file then echo $time fi 怎么在执行这个shell脚本时,不管err.txt中有无内容,都会输出time呢? 如果要实现当err.txt中有内容时...
小弟写了一个shell脚本time.sh:
file="/lwa/err.txt"
time=`date "+%m%d%H%M"
if test -s $file
then
echo $time
fi
怎么在执行这个shell脚本时,不管err.txt中有无内容,都会输出time呢?
如果要实现当err.txt中有内容时才输出time,我该怎么办呢?
file="/lwa/err.txt"
time=`date "+%m%d%H%M"
if test -s $file
then
echo $time
fi
怎么在执行这个shell脚本时,不管err.txt中有无内容,都会输出time呢?
如果要实现当err.txt中有内容时才输出time,我该怎么办呢?
|
你的time的后撇号是不是少写了?不过这个好像不是关键吧……思考ing
|
我试了一下上面的程序是正确的,肯定是那.txt的问题。你可以用touch生成一个新文件试试!!!
|
wc 中-k?是什么参数
如果你是想得到这个字符数的话
Numberoffile=`wc -c filename | awk '{print $1}'`
这样可以了吗?
但是我奇怪的是,这样还是没有解决你的问题。
我觉得是你另一个shell没有写好,里面是不是将一个变量输入文件了
$string > err.txt,string 是一个命令的返回。当string为空的时候,事实上string 是有'n'这个值的。所以会有字符为1。
猜想中......
如果你是想得到这个字符数的话
Numberoffile=`wc -c filename | awk '{print $1}'`
这样可以了吗?
但是我奇怪的是,这样还是没有解决你的问题。
我觉得是你另一个shell没有写好,里面是不是将一个变量输入文件了
$string > err.txt,string 是一个命令的返回。当string为空的时候,事实上string 是有'n'这个值的。所以会有字符为1。
猜想中......
|
:)
首先,touch生成的文件没有问题就说明你的上面的shell脚本对于判断真正的空文件是没有问题的。问题在于你的思路不对,你生成了一个非空的文件却用判断是否为空作条件啊。
如果你生成的那个文件有什么特殊的文本在里面,可以用来做判断条件。
首先,touch生成的文件没有问题就说明你的上面的shell脚本对于判断真正的空文件是没有问题的。问题在于你的思路不对,你生成了一个非空的文件却用判断是否为空作条件啊。
如果你生成的那个文件有什么特殊的文本在里面,可以用来做判断条件。
|
最简单的办法是
read var
read var