从一行到另一行提取到单独的文件,行号在bash中是一个变量
我试图将bash中从N行到M行的文本提取到一个单独的文件中,其中N和M是变量。 例如,我想从第3行提取到第5行。我设定从一行到另一行提取到单独的文件,行号在bash中是一个变量,bash,Bash,我试图将bash中从N行到M行的文本提取到一个单独的文件中,其中N和M是变量。 例如,我想从第3行提取到第5行。我设定 N=3 M=5 做 sed -n 'N,Mp' input > output 它对我不起作用。您可以使用示例awk脚本: awk -v s=$N -v n=$M 'NR>s && NR<n' input >output 您可以使用示例awk脚本执行此操作: awk -v s=$N -v n=$M 'NR>s &&
N=3
M=5
做
sed -n 'N,Mp' input > output
它对我不起作用。您可以使用示例
awk
脚本:
awk -v s=$N -v n=$M 'NR>s && NR<n' input >output
您可以使用示例
awk
脚本执行此操作:
awk -v s=$N -v n=$M 'NR>s && NR<n' input >output
您需要引用
M
和N
作为shell变量,并双引号引用传递给sed的字符串。这将读取sed-n“${M},${n}p”文件>输出
(请注意,M按字母顺序排在n之前,这与您的答案或问题无关,只是一个一般性的注释,您可能希望交换分配给M和n的值)您需要引用M
和N
作为shell变量,并双引号引用传递给sed的字符串。这将读取sed-n“${M},${n}p”文件>输出
(请注意,M按字母顺序排在n之前,这与您的答案或问题无关,只是一个一般性的注释,您可能希望交换分配给M和n的值)