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