我试图弄清楚如何(根本没有临时文件)可以剪切,例如,文件中的第2-10行。
基本上,我需要删除已经输入的CSV中的条目,但保留标题。
我相信那里的人已经足够精明了
答案 0 :(得分:1)
您可以使用标准编辑器ed
:
ed -s file.csv < <(printf '%s\n' '2,10d' 'wq')
< <(printf ...)
将驱使ed
执行以下操作:
2,10d
w
)并退出(退出q
)wq
。您的ed
版本可能会在wq
上投诉;在这种情况下,给它2个单独的命令(w
然后q
),如下所示:
ed -s file.csv < <(printf '%s\n' '2,10d' 'w' 'q')
否则,强制性的sed
方式:
sed -i '2,10d' file.csv
就像ed
方式一样,除了sed
不是真正的文件编辑器:它使用(窗帘后面)一个临时文件 - 所以它在技术上不能满足你的要求要求。