如何同时显示 2 个文件的第 n 行(在 Shell 脚本中使用 while 循环)?

问题描述 投票:0回答:1

我有 2 个文件

'name.txt'
'extensionv2.txt'
它们都在同一个文件夹中。

他们都有相似的行数。

我想同时从两个文件中获取

nth line
(可变行)到命名的
ex1
nm
变量

所以我创建了一个

while loop
.

一切正常,但我无法使用

nth line
获得
sed

谁能帮我用 shell 脚本做这个?

这是我的.sh文件

m=$(wc -l name.txt)
echo "m = $m"
t5="name.txt"
j=${m//$t5/}
echo "j = $j"
k=1
while [ $j -ge $k ]
do
    echo $j
    ex1=$(sed -n "$j{p;m}" extensionv2.txt)  # Print a variable line in file
    nm=$(sed -n "$j{p;m}" name.txt)
    echo "ex1 = $ex1"
    echo "nm = $nm"
    #v=echo "'$nm.$ex1'"
    j=$(($j-1))
done

我试过了,但我不知道如何将它放入我的代码中......

input="name.txt"
while IFS= read -r line
do
    echo "$line"
done < "$input"
linux shell unix sh
1个回答
0
投票

awk

LineNum=2
awk -v LineNum=$LineNum 'FNR==LineNum' file1 file2 

将输出保存在变量中:

var=$(awk -v LineNum=$LineNum 'FNR==LineNum' file1)
© www.soinside.com 2019 - 2024. All rights reserved.