【发布时间】:2023-03-31 02:39:01
【问题描述】:
我是 bash 新手,正在尝试从文件中提取模式列表:
文件1.txt
ABC
BDF
GHJ
base.csv(尝试用逗号分隔和制表符分隔)
line 1,,,,"hfhf,ferf,ju,ABC"
line 2 ,,,,,"ewy,trggt,gtg,ABC,RFR"
line 3 .."himk,n,hn.ujj., BDF"
等
建议的输出很像
ABC
line 1..
line 2..(whole lines)
BDF
line 3..
文件 1 中的每个模式以此类推
我尝试的代码是:
#!/bin/bash
for i in *.txt -# cycle through all files containing pattern lists
do
for q in "$i"; # # cycle through list
do
echo $q >>output.${i};
grep -f "${q}" base.csv >>output.${i};
echo "\n";
done
done
但输出只是文件名,然后是一些没有模式名称的字符串列表,例如
File1.txt
line 1...
line 2...
line 3..
所以我不知道每个字符串属于什么模式,必须手动检查和分配。你能指出我的错误吗?谢谢!
【问题讨论】: