我想知道如何csv在bash脚本中从第二行到文件末尾读取文件的每一行.
我知道如何在bash中读取文件:
while read line
do
echo -e "$line\n"
done < file.csv
Run Code Online (Sandbox Code Playgroud)
但是,我想读取从第二行开始到文件末尾的文件.我怎样才能做到这一点?
我在同一目录中有两个具有相同列数的 .csv 文件,我想将它们组合成一个文件,但只保留第一个文件中的一个标题。文件名总是不同的,只有前缀保持不变:
orderline_123456.csv
Order_number,Quantity,Price
100,10,25.3
101,15,30.2
Run Code Online (Sandbox Code Playgroud)
orderline_896524.csv
Order_number,Quantity,Price
102,20,12.33
103,3,3.4
Run Code Online (Sandbox Code Playgroud)
输出文件应该是这样的:
file_load.csv
Order_number,Quantity,Price
100,10,25.3
101,15,30.2
102,20,12.33
103,3,3.4
Run Code Online (Sandbox Code Playgroud)
这已经在 shell 脚本文件中了,因为现在我只需要获取一个文件,但现在我必须合并两个文件:
awk '(NR-1)%2{$1=$1}1' RS=\" ORS=\" orderline_*.csv >> file_to_load.csv
Run Code Online (Sandbox Code Playgroud)
我尝试将其更改为
awk 'FNR == 1 && NR != 1 {next} (NR-1)%2{$1=$1}1' RS=\" ORS=\" orderline_*.csv >> file_to_load.csv
Run Code Online (Sandbox Code Playgroud)
但我在输出中得到了两次标题。
请你帮助我好吗?该命令到底应该是什么样子?我需要保留它之前的定义方式。
谢谢你!