Bash 使用xargs移动文件
我想把ls的输出导入head,然后导入mv 我在终端上使用了以下命令,但它不能正常工作Bash 使用xargs移动文件,bash,shell,Bash,Shell,我想把ls的输出导入head,然后导入mv 我在终端上使用了以下命令,但它不能正常工作 ls -t Downloads/ | head -7 | xargs -i mv {} ~/cso/ 请务必纠正错误。提前谢谢 使用-我喜欢这里: ls -t Downloads/* | head -7 | xargs -I '{}' mv '{}' ~/cso/ 使用-我喜欢这里: ls -t Downloads/* | head -7 | xargs -I '{}' mv '{}' ~/cso/ 众
ls -t Downloads/ | head -7 | xargs -i mv {} ~/cso/
请务必纠正错误。提前谢谢 使用-我喜欢这里:
ls -t Downloads/* | head -7 | xargs -I '{}' mv '{}' ~/cso/
使用-我喜欢这里:
ls -t Downloads/* | head -7 | xargs -I '{}' mv '{}' ~/cso/
众所周知,不建议解析
ls
输出。您可以使用find+sort+cut+head+xargs
pipeline使用这种安全方法:
find . -maxdepth 1 -type f -printf '%T@\t%p\0' |
sort -z -rnk1 |
cut -z -f2 |
head -z -n 7 |
xargs -0 -I {} mv {} ~/cso/
众所周知,不建议解析
ls
输出。您可以使用find+sort+cut+head+xargs
pipeline使用这种安全方法:
find . -maxdepth 1 -type f -printf '%T@\t%p\0' |
sort -z -rnk1 |
cut -z -f2 |
head -z -n 7 |
xargs -0 -I {} mv {} ~/cso/
为什么它不能正常工作?预期的结果是什么?实际的结果是什么?这是一个糟糕的任务。除了像
less
这样的寻呼机之外,你不应该将ls
的输出管道化到任何地方。另外,ls
输出的第一行不是文件名。如果你使用zsh
,你可以简单地编写mv Downloads/*(om[0,7])~/cso
。为什么它不能正常工作?预期的结果是什么?实际的结果是什么?这是一个糟糕的任务。除了像less
这样的寻呼机之外,你不应该将ls
的输出管道化到任何地方。另外,ls
输出的第一行不是文件名。如果你使用zsh
,你可以简单地编写mv Downloads/*(om[0,7])~/cso
。它不起作用。输出如下:mv:cannot stat'SingleCycleCPUDesign.pdf':无此类文件或目录mv:cannot stat'mips assembly.tar':无此类文件或目录mv:cannot stat'mips_Vol2.pdf':无此类文件或目录mv:cannot stat'MIPS32_QRC.pdf':无此类文件或目录mv:cannot stat'MIPS Assembly.ppt':没有这样的文件或目录mv:cannot stat'L06-SMIPS.pdf':没有这样的文件或目录在下载/
之后添加*。。刚刚编辑的。如果它回答了你的问题,请把它标记为答案。现在它工作得很好。非常感谢@Exception\u alIt不起作用。输出如下:mv:cannot stat'SingleCycleCPUDesign.pdf':无此类文件或目录mv:cannot stat'mips assembly.tar':无此类文件或目录mv:cannot stat'mips_Vol2.pdf':无此类文件或目录mv:cannot stat'MIPS32_QRC.pdf':无此类文件或目录mv:cannot stat'MIPS Assembly.ppt':没有这样的文件或目录mv:cannot stat'L06-SMIPS.pdf':没有这样的文件或目录在下载/
之后添加*。。刚刚编辑的。如果它回答了你的问题,请把它标记为答案。现在它工作得很好。非常感谢@Exception_al