Unix 如何在不编写脚本的情况下从文件中提取给定的行列表
任务是: 对于给定的数字列表(可能很长),如下所示:Unix 如何在不编写脚本的情况下从文件中提取给定的行列表,unix,command-line,Unix,Command Line,任务是: 对于给定的数字列表(可能很长),如下所示: 1 5 8 ...(very long) 从第二个文件中提取相应的行 我必须编写一个简单的python代码来完成这项任务,但我想知道是否有一种方法可以不借助脚本来完成这项任务。使用过程替换和Coreutil组合的方法: SOME_COMMANDLINE_FU <(cat first_file) second_file SOME_COMMANDLINE_FU我想这取决于什么是脚本。提取行的一种方法是使用awk: awk '{syste
1
5
8
...(very long)
从第二个文件中提取相应的行
我必须编写一个简单的python代码来完成这项任务,但我想知道是否有一种方法可以不借助脚本来完成这项任务。使用过程替换和Coreutil组合的方法:
SOME_COMMANDLINE_FU <(cat first_file) second_file
SOME_COMMANDLINE_FU我想这取决于什么是脚本。提取行的一种方法是使用awk:
awk '{system("awk NR=="$1" second_file")}' first_file
我想这取决于什么是剧本。提取行的一种方法是使用awk:
awk '{system("awk NR=="$1" second_file")}' first_file
我想这取决于什么是剧本。提取行的一种方法是使用awk:
awk '{system("awk NR=="$1" second_file")}' first_file
我想这取决于什么是剧本。提取行的一种方法是使用awk:
awk '{system("awk NR=="$1" second_file")}' first_file
只需循环遍历数字文件并将其存储在数组中。然后,读取seconf文件并检查每一行的编号是否在存储的数组中:
awk 'FNR==NR {a[$1]; next} FNR in a' file1 file2
FNR==NR{}
技巧使得在读取第一个文件时执行{}
。然后,在读取第二个时执行其余部分。更多信息请参见。只需循环浏览数字文件并将其存储在数组中即可。然后,读取seconf文件并检查每一行的编号是否在存储的数组中:
awk 'FNR==NR {a[$1]; next} FNR in a' file1 file2
FNR==NR{}
技巧使得在读取第一个文件时执行{}
。然后,在读取第二个时执行其余部分。更多信息请参见。只需循环浏览数字文件并将其存储在数组中即可。然后,读取seconf文件并检查每一行的编号是否在存储的数组中:
awk 'FNR==NR {a[$1]; next} FNR in a' file1 file2
FNR==NR{}
技巧使得在读取第一个文件时执行{}
。然后,在读取第二个时执行其余部分。更多信息请参见。只需循环浏览数字文件并将其存储在数组中即可。然后,读取seconf文件并检查每一行的编号是否在存储的数组中:
awk 'FNR==NR {a[$1]; next} FNR in a' file1 file2
FNR==NR{}
技巧使得在读取第一个文件时执行{}
。然后,在读取第二个时执行其余部分。更多信息,请参见。通过@fedorqui的回答,只需一次呼叫awk,肯定更优雅(尽管更像脚本)。通过@fedorqui的回答,肯定更优雅(尽管更像脚本),只需一次呼叫awk。通过@fedorqui的回答,肯定更优雅(尽管更像脚本)只需一次呼叫awk。@fedorqui的回答肯定更优雅(尽管更像脚本),只需一次呼叫awk。感谢您分享到惯用awk的链接。学会了一些我从未想过可能的技巧!感谢您分享到惯用awk的链接。学会了一些我从未想过可能的技巧!感谢您分享到惯用awk的链接。学会了一些我从未想过可能的技巧!感谢您分享到惯用awk的链接。学会了一些我从未想过可能的技巧!