xargs 将文件移动到用户指定的位置

xargs 将文件移动到用户指定的位置

我正在尝试编写一个程序,将最近 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

相关内容