我正在尝试编写一个程序,将最近 30 分钟内修改过的文件移动到用户指定的位置。下面的代码行不起作用
cat ~/temporary_file.txt | xargs -i mv {} $response
temporary_file.txt
存储要移动的文件,response
是用户指定的移动文件的位置。每当我尝试运行该程序时,无论它response
是什么~/
,它都会说“无法将 [filename] 移动到 '~/':目录中没有这样的文件”。我能做些什么让程序正常工作?
更新:
if
通过使用语句检测是否以以下行开始来解决问题response
,然后手动扩展~/
~
response="$HOME"/"${response:2}"
答案1
我假设$response
包含现有目录的路径。那么这应该有帮助:
xargs -I {} echo mv {} "$response" < ~/temporary_file.txt
或者
xargs echo mv -t "$response" < ~/temporary_file.txt
如果输出看起来没问题,请删除echo
。
看:man xargs