我有這個文件(的test.txt):從文件中提取信息,並將其作爲列添加到另一個文件
###########
###########
1x1 1y1
1x2 1y2
###########
###########
2x1 2y1
2x2 2y2
###########
###########
3x1 3y1
3x2 3y2
的1x1,1x2的,1Y1,1Y2,等表示十進制,積極和負數 數字量
# #對應於文本和數字標題是不想處理的值。每個包含9行,以數字或字母開頭。
,我想這生成輸出文件(output.txt中)使用管道:
1x1 1y1 2x1 2y1 3x1 3y1
1x2 1y2 2x2 2y2 3x2 3y2
嘗試:(test.sh)
touch output.txt
paste -d' ' output.txt <(sed '5,12d' test.txt | sed '1,2d' | awk '{print $1" "$2}') > output.txt
paste -d' ' output.txt <(sed '9,12d' test.txt | sed '1,6d' | awk '{print $1" "$2}') > output.txt
paste -d' ' output.txt <(sed '1,10d' test.txt | awk '{print $1" "$2}') > output.txt
結果: 貓output.txt的
3x1 3y1
3x2 3y2
我在做我的腳本錯了嗎?
我忘了提及test.txt文件實際上有1,000,000行。因此,我想要有效地做到這一點。我通過使用輔助文件解決了這個問題,但是性能很慢。這就是爲什麼我想不使用輔助文件。
問候
您使用文件output.txt同時讀取和寫入命令,然後每次擦除內容。每次使用不同的文件名,它的工作原理(即使這不是一個好的解決方案) – yolenoyer