Awk 将参数列表作为从另一个选项卡分隔的文件中提取的文件名
我有一个制表符分隔的文件,如下所示。第一列表示不带扩展名Awk 将参数列表作为从另一个选项卡分隔的文件中提取的文件名,awk,Awk,我有一个制表符分隔的文件,如下所示。第一列表示不带扩展名.txt的文件名列表,我想将其作为参数列表传递给另一个awk命令 File1 abcd xyz 234 pqr File2 abcd xyz 234 pqr File3 abcd xyz 234 pqr File4 abcd xyz 234 pqr e、 g.假设这是我的awk命令,我希望将参数作为 awk -F"\t" '---Commamd-----' File1.txt File2.txt F
.txt
的文件名列表,我想将其作为参数列表传递给另一个awk
命令
File1 abcd xyz 234 pqr
File2 abcd xyz 234 pqr
File3 abcd xyz 234 pqr
File4 abcd xyz 234 pqr
e、 g.假设这是我的awk
命令,我希望将参数作为
awk -F"\t" '---Commamd-----' File1.txt File2.txt File3.txt File4.txt >> Final.txt
因此,它将第一列中的每一行以及“.txt”
扩展名作为输入,并创建Final.txt
输出文件。应注意,每次列的数量可能会有所不同
我曾想过在bash脚本中创建它,但我无法提供正确的参数并将第一列的下一行作为下一个参数追加 此处不完全确定,因为不清楚。根据您希望从1
awk
获取文件名并将其传递给另一个awk
的声明,可以尝试以下操作
awk '{print $0}' <(awk 'NF{print $1".txt"}' Input_file)
awk'{print$0}'根据我对您的需求的理解,您希望使用制表符分隔的文件来获取第1列上的文件名,并希望向其添加.txt
扩展名,然后将其传递给另一个文件。首先使用mapfile
从选项卡分隔的文件中获取名称
mapfile -t fileNames < <(awk -v FS="\t" '{print $1}' tabfile)
你可以试试这个awk
awk '{file=$1".txt";while (getline<file == 1)print $2}' infile
awk'{file=$1.txt”;while(getline)
awk '{file=$1".txt";while (getline<file == 1)print $2}' infile