給定的文件名爲1.csv,2.csv,3.csv,... 89.csv ... n.csv 如何將它們附加在一起以數字順序)(1到n)在bash shell腳本中? 是否有解決方案的單線?使用bash shell腳本以數字順序逐個追加csv文件
4
A
回答
2
如果你的文件,其中帶前導零的名字命名,它會更容易,即
cat [0-9].csv [0-9][0-9].csv .... > new.csv
但它不是很難獲得真正的數字順序,給出
ls -1
1
10
11
12
13
2
20
21
3
7
8
9
(兩個樣品中請注意,該選項以Ls是一個數,(1),而不是字母L(升))
AND
ls -1 [0-9]* | sort -n
1
2
3
7
8
9
10
11
12
13
20
21
THEN
cat $(ls -1 *.csv | sort -n ) > new.csv
假設你的所有CSV文件編號。
如果您有超過1000個文件,shell中的文件arg處理可能會崩潰,並且您應該發佈一個新問題以正確使用xargs。
要查看發生了什麼添加殼調試/跟蹤使用
set -vx # to turn on
set +vx # to turn it off
。 IHD。
IHTH。
0
帶內嵌參數的一個內襯(您應該用最大文件號替換N)。腳本將跳過unexisted文件,因此,如果您按順序錯過幾個文件你不會得到錯誤:)
for i in `seq 0 N`; do test -f $i.csv && cat $i.csv; done >> result.csv
或腳本使用參數
#!/bin/bash
for i in `seq 0 $1`
do
if [ -f "$i.csv" ]
then
cat $i.csv >> $2
fi
done
用法:./script.sh MAX_CSV_ID RESULT_FILE
例子:./script.sh 89周new.csv
相關問題
- 1. 在Bash Shell腳本中追加數據
- 2. Shell腳本將文本追加到每個文件?
- 3. 將查詢結果從shell腳本追加到csv文件
- 4. 想使用shell腳本追加兩個文件中的記錄
- 5. 使用shell腳本解析CSV文件
- 6. 用bash腳本逐行讀取文件
- 7. 從shell腳本逐行讀取文件
- 8. Shell腳本 - 多個用戶同時追加同一個文件
- 9. bash腳本按順序重寫數字
- 10. Bash腳本順序文件大小
- 11. 使用bash腳本以自然順序列出文件夾中的文件
- 12. 如何追加到文件中的行不使用shell腳本
- 13. 調用shell腳本/。從一個bash腳本內的jar文件
- 14. 在使用shell腳本的csv文件末尾添加新列
- 15. 在Bash Shell腳本中創建.csv
- 16. 使用CSV文件比較追加CSV
- 17. 參數順序如何在Bash Shell腳本中工作?
- 18. 追加多個.csv文件
- 19. Shell腳本加載多個FTP文件
- 20. Bash/Shell腳本
- 21. shell腳本BASH
- 22. Bash shell腳本
- 23. bash腳本將文本追加到文件的第一行
- 24. 如何使用shell腳本解析2個輸入CSV文件
- 25. 如何使用shell腳本連接2個csv文件?
- 26. 追加一個CSV文件
- 27. bash腳本執行順序
- 28. 如何在使用shell腳本的文件中追加多行文本
- 29. CSV文件上傳到數據庫中使用shell腳本
- 30. 如何使用bash腳本準備一個txt文件到csv?
的ls -l * .CSV |排序-n似乎是失靈:ls -l命令* .CSV |排序-n -rw-R- -r-- 1 root root 110427099 Sep 4 20:37 94.csv -rw-r - r-- 1 root root 110439250 Sep 4 20:15 93.csv -rw-r - r-- 1 root root 111962812 Sep 4 19:53 92.csv -rw-r- -r-- 1 root root 114716696 Sep 4 14:35 65.csv -rw-r - r-- 1 root root 115487626 Sep 4 08:05 35.csv -rw-r - r-- 1 root root 115777573 Sep 3 20:25 1.csv – user121196
請注意,這是-1(一),而不是-l(字母L)。祝你好運。 – shellter