根据第一列文件ID提取相关文件
文件1(file1)如下:
A 1
B 2
C 3
D 4
文件2(file2)如下:
A
B
D
期望输出(out):
A 1
B 2
D 4
awk语句
awk 'FNR==NR{a[$1];next}($1 in a){print}' file2 file1 > out
根据文件行index提取相关文件
具体如下:
#index.txt: file.txt文件中的行的index
awk 'NR==FNR{a[$0]=1;next}a[FNR]' index.txt file.txt > output.txt
根据文件列index提取相关文件
具体如下:
#index.txt: file.txt文件中列的index
awk 'NR==FNR{a[$1]=$1;next}{for(i in a){printf "%s\t", $i};print ""}' index.txt file.txt > output.txt
替换文件中的列
文件1(file1)如下:
111 aaa 444
222 bbb 555
333 ccc 666
文件2(file2)如下:
111 333 000 444
222 444 111 555
333 555 555 666
期望输出(out):
111 000 444
222 111 555
333 555 666
awk语句
awk 'FNR==NR{a[NR]=$3;next}{$2=a[FNR]}1' file2 file1 > output.txt