我想在现有的CSV文件中添加一行标题,然后进行编辑.我怎样才能做到这一点?
echo 'one, two, three' > testfile.csv
我想结束
column1, column2, column3 one, two, three
更改初始CSV输出不在我手中.
任何标准命令都可以.重要的是文件在适当的位置编辑,并在文件的开头插入行.
要回答您的原始问题,请使用sed执行以下操作:
sed -i '1icolumn1, column2, column3' testfile.csv
"1i"命令告诉sed转到第1行并在那里插入文本.
例如,-i选项使文件"就地"编辑,并且还可以使用可选参数来创建备份文件
sed -i~ '1icolumn1, column2, column3' testfile.csv
将原始文件保存在"testfile.csv~"中.
这会在文件的开头添加自定义文本:
echo 'your_custom_escaped_content' > temp_file.csv cat testfile.csv >> temp_file.csv mv temp_file.csv testfile.csv
这不使用sed,但使用>>将附加到文件.例如:
echo 'one, two, three' >> testfile.csv
编辑:要预先添加到文件,请尝试以下操作:
echo "text"|cat - yourfile > /tmp/out && mv /tmp/out yourfile
我通过Google快速搜索找到了这个.
据我了解,您希望先column1, column2, column3
于现有的one, two, three
.
我会用ed
它代替sed
,因为sed
写在标准输出而不是文件中.
命令:
printf '0a\ncolumn1, column2, column3\n.\nw\n' | ed testfile.csv
应该做的工作.
perl -i
值得一看.