为什么cut在for循环中返回相同的值?

时间:2014-11-17 02:17:14

标签: linux command-line terminal cut

我正在尝试使用linux centos6从每个单独的文件中删除文本。由于某种原因,它不断从第一个文件返回相同的值,并且不从每个单独的文件返回值

例如,当我运行以下命令

for d in ~/assets/*/client_custom.css; do  sed -n 73p ~/assets/*/style.css |  cut -c  29-35 ; done

如果有20个目录,它将带回来

#3a1504
#3a1504
#3a1504
#3a1504
#3a1504
#3a1504
#3a1504

... 20次

我想要回来的是来自所有目录的style.css的每个单独的值。

有没有人可以指导我如何实现这一目标以及我做错了什么?

1 个答案:

答案 0 :(得分:0)

但原因很简单。您正在使用〜/ assets / * / style.css扩展中的单个文件进行操作。其余的都被忽略了。我现在真的在猜测,但你可能意味着这样的事情:

for d in ~/assets/*/style.css; do  sed -n 73p "$d" |  cut -c  29-35 ; done

$ d是每次迭代都包含文件名的变量。