相关疑难解决方法(0)

如何在bash中从第x行读取文件到文件末尾

我想知道如何csv在bash脚本中从第二行到文件末尾读取文件的每一行.

我知道如何在bash中读取文件:

while read line
 do   
   echo -e "$line\n"
done < file.csv
Run Code Online (Sandbox Code Playgroud)

但是,我想读取从第二行开始到文件末尾的文件.我怎样才能做到这一点?

bash

43
推荐指数
5
解决办法
5万
查看次数

将两个 .csv 文件合并为一个并仅保留一个标头 - 在 bash 中

我在同一目录中有两个具有相同列数的 .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)

但我在输出中得到了两次标题。

请你帮助我好吗?该命令到底应该是什么样子?我需要保留它之前的定义方式。

谢谢你!

unix bash

2
推荐指数
1
解决办法
2513
查看次数

标签 统计

bash ×2

unix ×1