gpt4 book ai didi

linux - 如何在 grep 命令中使用从文件中读取的行

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:25 25 4
gpt4 key购买 nike

首先,我很抱歉我的英语不好。我想读取一个包含许多电话号码(每行一个数字)的文件 (tel.txt) 并使用该行到 grep 命令来搜索源文件(另一个文件)中的特定号码!

我写了这段代码:

dir="/home/mujan/Desktop/data/ADSL_CDR_Text_Parts_A"
file="$dir/tel.txt"
datafile="$dir/ADSL_CDR_Like_Tct4_From_960501_to_97501_Part0.txt"

while IFS= read -r line
do
current="$line"
echo `grep -F $current "$datafile" >> output.txt`
done < $file

电话文件样本:

44001547
44001478
55421487

但是这段代码什么也没有返回!当我用文字声明“当前”变量时,它可以正常工作!发生了什么?!

最佳答案

您的 grep 命令被重定向以将其输出写入文件,因此您不会在终端上看到它。

无论如何,您可能应该使用更简单、更快的方法

grep -Ff "$file" "$datafile"

添加| tee -a output.txt 如果要将输出保存到文件并同时查看。

echo `command` 是一种错误且低效的编写 command 的方法。 (echo "`command`" 只会效率低下。)没有理由将标准输出捕获到一个字符串中,以便您可以 echo 该字符串到标准输出。

关于linux - 如何在 grep 命令中使用从文件中读取的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54670816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com