Bash 文件中的每一行列作为awk中的键
多亏了@jxc,我才能够在帖子中获得一个工作代码: 如果在文件中找到数字id,则使用Bash循环生成目录 我正在尝试使用awk在一个目录中创建子目录,该目录将在/path/to/directory中创建。如果在$0中找到文件1的$2中的完整字符串,则第二行始终为该格式的文件2。文件2中会有更多行,然后匹配 该目录将已在/path/to/directory中创建。在下面的例子中, 子目录已存在于/path/to/目录中,并且由于在文件1的$2中找到了19-0000_Lname-yy-zzz和19-0001_Lname-yyy-zzzzz,因此它们在子目录中创建。谢谢 我想到了,也许这两行:Bash 文件中的每一行列作为awk中的键,bash,awk,Bash,Awk,多亏了@jxc,我才能够在帖子中获得一个工作代码: 如果在文件中找到数字id,则使用Bash循环生成目录 我正在尝试使用awk在一个目录中创建子目录,该目录将在/path/to/directory中创建。如果在$0中找到文件1的$2中的完整字符串,则第二行始终为该格式的文件2。文件2中会有更多行,然后匹配 该目录将已在/path/to/directory中创建。在下面的例子中, 子目录已存在于/path/to/目录中,并且由于在文件1的$2中找到了19-0000_Lname-yy-zzz和19-
a[substr($i,1,length($2)]
然后
文件1
文件2
所需子目录
您可以尝试此awk:
或者,这也应该起作用:
awk 'FNR==NR{seen[$2]; next} {s=$0; sub(/_[^_]+$/, "", s)} s in seen' file1 FS=_ file2
您可以尝试此awk:
或者,这也应该起作用:
awk 'FNR==NR{seen[$2]; next} {s=$0; sub(/_[^_]+$/, "", s)} s in seen' file1 FS=_ file2
要创建目录,请使用awk…|非常感谢。要创建目录,请使用awk…|谢谢你。
xxxx
19-0003-xxx-xxx-xxx_000-111
yyyy
xxxx
19-0000_Lname-yy-zzz_000-111
yyyy
xxxx
19-0001_Lname-yyyy-zzzzz_000-111
yyyy
SubDirectory
19-0000_Lname-yy-zzz_000-111
19-0001_Lname-yyyy-zzzzz_000-111
awk 'FNR==NR{seen[$2]; next} ($1 FS $2) in seen' file1 FS=_ file2
19-0000_Lname-yy-zzz_000-111
19-0001_Lname-yyyy-zzzzz_000-111
awk 'FNR==NR{seen[$2]; next} {s=$0; sub(/_[^_]+$/, "", s)} s in seen' file1 FS=_ file2