我正在编写一个shell脚本,我希望在那里获取文件目录的最后24小时文件更改。我是这样做的:
for myfile in $(find . -maxdepth 1 -mtime -1)
do
echo $myfile|sed 's/.//'| sed 's/.//'|grep -v "^$";
done
所以,现在我想将$myfile|sed 's/.//'| sed 's/.//'|grep -v "^$";
的输出保存在shell变量中,并希望传递给另一个bash函数。我尝试过如下:
for myfile in $(find . -maxdepth 1 -mtime -1)
do
latest_file=$($myfile|sed 's/.//'| sed 's/.//'|grep -v "^$");
done
我收到bash: .: filename argument required
错误。
我做错了什么? 提前谢谢。
答案 0 :(得分:0)
您在添加echo
时删除了$(...)
。#!/ usr / bin / perl
latest_file=$(echo $myfile | sed 's/..//' | grep -v "^$")
# ~~~~
另请注意,sed 's/.//' | sed 's/.//'
相当于sed 's/..//
更快。您也可以尝试cut -c3-
(即显示第三个字符的每一行)。