[英]Bash get lines from text file by reading line numbers from another file
我有以下类型的文件lines.txt :
1
3
5
6
我还有另一个类型的文件text.txt :
A
B
C
D
E
F
G
H
我想得到一个包含以下内容的输出文件:
A
C
E
F
是否有任何bash命令可以帮助我做到这一点?
您可以使用cat -n
从text.txt
对行进行编号。 然后,您可以使用join
根据数字将两个文件配对, -o2.2
表示显示第二个文件的第二列 。
cat -n text.txt | join -o2.2 lines.txt -
您可以遍历lines.txt
的行号,然后使用sed
所需的行:
for line in `cat lines.txt`
do
sed -n "${line}p" text.txt
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.