【问题标题】:Why ls -1 | xargs -I{} echo -n {}{}{} does not print in right order?为什么是 -1 | xargs -I{} echo -n {}{}{} 打印顺序不正确?
【发布时间】:2012-07-25 09:49:24
【问题描述】:
Ubuntu$ ls -1

文件1 文件2

Ubuntu$ ls -1 | xargs -I{} echo -n {}{}{}

文件1文件1文件1文件2文件2文件2

为什么我没有按这个顺序得到结果?:file1file2file1file2file1fil2

【问题讨论】:

  • 如果您提供更多信息,您可能会得到更具体的答案。

标签: bash printing xargs ls


【解决方案1】:

因为xargs 对其输入中的每个单词执行命令 (echo)。当然{} 每次都是一样的。即使你重复很多次。

你可以用for做你想做的事:

ls=$(ls -1)
for i in {1..3}
do
  echo $ls
done

使用示例:

$ mkdir d ; cd d
<d>$ touch file1 file2 file3
<d>$ ls=$(ls -1)
<d>$ for i in {1..3}
> do
>   echo $ls
> done
file1 file2 file3
file1 file2 file3
file1 file2 file3

【讨论】:

    猜你喜欢
    • 2014-04-24
    • 1970-01-01
    • 2014-08-26
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    相关资源
    最近更新 更多