【问题标题】:How can I print the lines of four files together?如何将四个文件的行打印在一起?
【发布时间】:2013-08-13 19:45:50
【问题描述】:

我有四个文件,我想打印 file1、file2、file3、file4 的第一行,然后是 file1、file2、file3、file4 的第二行,然后是每个文件的第三行,依此类推

我尝试了以下代码,但它给了我一个错误:

for i in $(cat $file1)
do 
for j in $(cat $file2)
do
for k in $(cat $file3)
do 
for l in $(cat $file4)

echo "${i}"
echo "${j}"
echo "${k}"
echo "${l}"

done
done
done
done

除了 echo 还能用什么?

【问题讨论】:

  • 试试paste 命令
  • 它不起作用它给我 I/O 错误是否有其他方法
  • 我尝试使用 while ,它给了我一个无效的标识符。我希望输出是一列。

标签: bash for-loop solaris


【解决方案1】:

已经有工具了。

paste "$file1" "$file2" "$file3" "$file4"

如果您不想要列输出,请使用paste -d $'\n'。 (谢谢@AnsgarWiechers!)

【讨论】:

  • 添加-d"\n" 如果您希望每个文件中的行位于不同的行而不是同一行中。
【解决方案2】:

使用paste

paste file1 file2 file3 file4

【讨论】:

    【解决方案3】:

    这对你有用吗?

    paste -d '\n' file1 file2 file3 ...
    

    如果你想要一行文件的内容:

    paste file1 file2 file3 ...
    

    【讨论】:

      猜你喜欢
      • 2020-09-10
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 2016-05-13
      • 2013-04-30
      相关资源
      最近更新 更多