我的linux命令是
cat /etc/myfile.txt > newfile.txt
我的问题是如何检查文件/etc/myfile.txt是否为空并保存
一个命令行中的文件
答案 0 :(得分:3)
您可以使用def CurSelect(evt):
if liste.curselection(): # To call below statements only when liste has a selected item
eintrag.delete(0,END)
selected = liste.get(liste.curselection())
for i in range(2):
eintrag.insert(END,str(i)+str(selected))
中的条件表达式检查文件是否存在(bash
标志)和不为空-f
标志。
您也可以使用-s
创建文件的新副本,而不是cp
。
cat
不确定为什么要使用单行代替正确的可读示例。无论如何,你可以使用上面的逻辑
if [[ -f /etc/myfile.txt && -s /etc/myfile.txt ]]; then
cp /etc/myfile.txt newfile.txt
fi
答案 1 :(得分:3)
[[ -f /etc/myfile.txt && -s /etc/myfile.txt ]] && cp /etc/myfile.txt newfile.txt
您不必 [ -s "/etc/myfile.txt" ] && cat /etc/myfile.txt > newfile.txt
该文件,而是使用cat
。
此处,cp
选项检查文件的大小是否为非零。从Linux上的-s
开始,
man test
编辑:如果 -s FILE
FILE exists and has a size greater than zero
是常规文件,则上述解决方案就足够了。如果要在检查/etc/myfile.txt
尺寸之前检查它是否是常规文件,则需要non-zero
标记
-f