【问题标题】:printing using for loop in linux shell scripting在 linux shell 脚本中使用 for 循环打印
【发布时间】:2013-12-13 05:00:12
【问题描述】:

我有 2 个包含多个字段的文件。文件 A 是动态的,其中有用户每天登录以及他们的登录时间和日期。文件 B 包含用户总数及其机场代码。文件 B 是一个静态文件。我需要打印文件 A 数据以及用户的机场代码。我使用了下面的脚本..

A=`cut -d " " -f1 /data/sampleupdatedreport.csv`
for A
do
grep $A /home/s399682/StarUsers.txt >tmp_today.csv
done

它不工作。请帮助我找到解决方案。提前非常感谢!!!

【问题讨论】:

  • 显示这两个文件中的一些示例数据会很有帮助。

标签: linux shell csv for-loop scripting


【解决方案1】:

你的脚本可以写成:

grep -f <(cut -d " " -f1 /data/sampleupdatedreport.csv) /home/s399682/StarUsers.txt >tmp_today.csv

这将匹配/home/s399682/StarUsers.txt 中与cut 命令产生的输出匹配的所有行。


如果你真的想写一个脚本,你可以说:

while read -r line; do
  grep "$line" /home/s399682/StarUsers.txt
done < <(cut -d " " -f1 /data/sampleupdatedreport.csv) > tmp_today.csv

【讨论】:

    【解决方案2】:

    您可能正在寻找join...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-03
      • 2023-03-18
      • 1970-01-01
      • 2022-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多