【问题标题】:Why does cut return the same value in for loop?为什么 cut 在 for 循环中返回相同的值?
【发布时间】:2014-11-17 02:17:14
【问题描述】:

我正在尝试使用 linux centos6 从每个单独的文件中剪切文本。由于某种原因,它一直从 first 文件返回相同的值,而不是从每个单独的文件返回值

例如,当我运行以下命令时

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 中的每个单独的值。

有没有人可以指导我如何完成这项工作以及我做错了什么?

【问题讨论】:

    标签: linux command-line terminal cut


    【解决方案1】:

    但是原因很简单。您正在从 ~/assets/*/style.css 扩展中对单个文件进行操作。其余的被忽略。我现在真的在猜测,但你的意思可能是这样的:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 2018-06-18
      • 2018-07-18
      相关资源
      最近更新 更多