我想将ls的输出管道输入head并将其输入mv。
我在终端上使用了以下命令,但它无法正常工作。
ls -t Downloads/ | head -7 | xargs -i mv {} ~/cso/
请纠正错误。提前致谢!
答案 0 :(得分:3)
有充分证据表明不建议解析ls
输出。您可以使用find + sort + cut + head + xargs
管道来使用这种安全方法:
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/
答案 1 :(得分:1)
使用-I就像这里:
ls -t Downloads/* | head -7 | xargs -I '{}' mv '{}' ~/cso/