Unix 如何在编辑第一个文件的情况下将一个文件附加到另一个文件,因此可以';不要使用通常的cat命令

Unix 如何在编辑第一个文件的情况下将一个文件附加到另一个文件,因此可以';不要使用通常的cat命令,unix,awk,command,pipe,cat,Unix,Awk,Command,Pipe,Cat,假设我有两个文件,每个文件的头在第一行,记录在其余行。我想把两个文件连接成一个文件,但不要包含两次头文件 我在谷歌搜索答案时尝试了以下命令(因此我可能无法以最佳方式应对) 然而,我得到了以下错误 cat: awk: No such file or directory cat: NR!=1 {printf "%s\n",$1}: No such file or directory 它看起来像是cat将awk识别为文件,而不是命令。我希望awk的结果成为文件的内容,因此我还尝试将其传输到cat的参

假设我有两个文件,每个文件的头在第一行,记录在其余行。我想把两个文件连接成一个文件,但不要包含两次头文件

我在谷歌搜索答案时尝试了以下命令(因此我可能无法以最佳方式应对)

然而,我得到了以下错误

cat: awk: No such file or directory
cat: NR!=1 {printf "%s\n",$1}: No such file or directory
它看起来像是
cat
awk
识别为文件,而不是命令。我希望
awk
的结果成为文件的内容,因此我还尝试将其传输到
cat
的参数

awk 'NR!=1 {printf "%s\n", $1}' file2.csv > cat file.csv
然而,通过这种方式,我得到了文件
cat
,其中我得到了
awk
的结果

那我怎么解决呢


谢谢。

您需要一些分组:

{ 
    cat file1
    sed '1d' file2
} > file.csv
作为一行

{ cat file1; sed '1d' file2; } > file.csv

结尾大括号前需要分号。

打印第一个文件的第一行,然后打印第2行到任何文件的结尾

{cat file1; tail -n +2 file2} > out
awk 'NR==1||FNR>1' file1 file2 (file3 file4 ..) > outfile
awk 'NR==1||FNR>1' file1 file2 (file3 file4 ..) > outfile