【发布时间】:2016-11-25 14:55:57
【问题描述】:
我将如何执行以下命令?这是我拥有的以下伪代码:
ls -U | head -4 < rm *
我要删除以下四个文件
ubuntu@ip:/tmp$ ls -U | head -4
c9e5aff2-f4f6-459e-9752-466625165fa0.jpg
815626f8-2650-4596-94b9-796a82780390.jpg
b9259a6b-b421-4b64-ba4d-72fd632703a3.jpg
78c243e7-43df-417d-9dcf-a4578f1c1f20.jpg
【问题讨论】:
-
那永远行不通。这会将
rm的输出重定向为head的输入。ls|head -4|xargs rmxargs 获取其标准输入并将其转换为指定命令的命令行参数。 -
ls -U按目录顺序列出文件,这本质上是任意的。您确定这是您要使用的标准吗? -
请注意,如果任何文件名包含空格或某些其他特殊字符,则当前的两个答案都可能失败。