如何编写shell命令跳过文件a.csv
中的第一行,并将剩余的行重定向为myProgram
的输入,这是我的C程序?
我写了
./myProgram < a.csv | tail -n + 2
但这不起作用,似乎它会跳过myProgram
输出的第一行。
答案 0 :(得分:10)
如果您想跳过第一行,传统的解决方案是sed
:
sed -e 1d a.csv | ./myProgram
答案 1 :(得分:5)
企业风险管理...
tail -n +2 a.csv | ./myProgram
答案 2 :(得分:0)
如果你的shell是Bash,它支持process substitution:一种机制,可以让你像处理文件一样处理命令的输出。因此,您可以使用
而不是您所写的内容./myProgram < <(tail -n +2 a.csv)
您的命令改为使用完整文件a.csv
作为myProgram
的输入,然后将输出传递给{{ 1}}(你真的使用了tail -n + 2
和+
之间的空格吗?)。