如何編寫shell命令跳過文件a.csv
中的第一行,並將其餘行作爲輸入重定向到myProgram
,這是我的C程序?如何跳過文件的第一行並讀取其餘行作爲C程序的輸入?
我寫
./myProgram < a.csv | tail -n + 2
但是,這並不工作,好像它會跳過輸出的第一行從myProgram
。
如何編寫shell命令跳過文件a.csv
中的第一行,並將其餘行作爲輸入重定向到myProgram
,這是我的C程序?如何跳過文件的第一行並讀取其餘行作爲C程序的輸入?
我寫
./myProgram < a.csv | tail -n + 2
但是,這並不工作,好像它會跳過輸出的第一行從myProgram
。
呃......
tail -n +2 a.csv | ./myProgram
如果你的shell是bash,它支持process substitution:一種機制,可以讓你把一個命令的輸出,就像一個文件。因此,而不是你寫的,你可以使用
./myProgram < <(tail -n +2 a.csv)
什麼您命令沒有替代方法是使用完整文件a.csv
作爲輸入到myProgram
,然後通過管道將輸出到tail -n + 2
(難道你真的使用在+
和2
之間的空格?)。
如果你想跳過第一線,傳統的解決方案是sed
:
sed -e 1d a.csv | ./myProgram
那我該怎麼歸併a.csv一個叫b.csv – John
新的文件,不要問其他問題註釋。 –