我有 2 个 .csv 文件和 1 个 txt 文件。fileA.csv 有这样的信息:
Column1 Column2
Row1 Column1 Info Row1 Column2 Data 1 xyz
Row2 Column1 Info Row2 Column2 Data
Row3 Column1 Info Row3 Column2 More Data 2 XYZ ABC
编辑:这是一个 csv,因此在终端中输出时,这些列用逗号分隔。
fileB.txt 只是一个通用的 .txt 文件,其中包含这样的信息
Row1 Column2 Info = XYZ
Row3 Column2 Info = ABC
我想要做的是在所有fileB.txt 中搜索fileA.csv 的第2 列的每一行。然后,如果找到匹配项,则将 fileA.csv 的列(1 和 2)输出到 fileC.csv 的第 1 列,或者如果语法更简单,则分别输出到第 1 列和第 2 列
使用上面的测试信息到 fileC.csv 的所需输出将是
Column1
Row1 Column1 Info Row1 Column2 Info = XYZ
Row3 Column1 Info Row3 Column2 Info = ABC
或者如果它在语法上更容易
Column1 Column2
Row1 Column1 Info Row1 Row1 Column2 Info = XYZ
Row3 Column1 Info Row3 Row3 Column2 Info = ABC
我试过使用 awk 和 grep,但对 Bash 脚本不够熟悉,无法从 fileA 中的特定列中搜索信息,在 txt 文件中搜索它,然后将 fileA 中的两列输出到 fileC.csv
顺便说一句,这不是家庭作业:)