如何使用sed从第一行删除第一个字符

时间:2012-12-18 15:27:51

标签: sql-server-2008 csv sed

我有三个.csv文件,它们是在MS SQLServer中保存查询而输出的。我需要将这些文件加载​​到Informix数据库中,这需要使用尾随分隔符。使用sed

很容易做到

s/$/,/g

但是,这些文件中的每一个还包含(由vim显示,但不包括ed或sed)a在第一行的第一个字符位置。

我需要摆脱这个角色。它使用vim' x命令删除为一个字符。如何使用sed描述这个字符,这样我就可以删除它而不删除该行。

我已经尝试1s/^.//g,但这不起作用。

3 个答案:

答案 0 :(得分:6)

请改为尝试:

sed -e '1s/^.//' input_file > output_file

或者,如果您想要就地编辑文件:

sed -ie '1s/^.//' input_file

(编辑)显然s/^.//没有引用它,更新。

答案 1 :(得分:1)

删除第一行的第一个字符:

sed -i  '1s/^.//' file

答案 2 :(得分:1)

尝试:

sed -i '1s/^.\(.*\)/\1/' file

这应该从第一行删除第一个字符。 (首先尝试没有-i参数来确保)

编辑:我最初发布了以下内容,这将删除每一行中的第一个字符。在重新阅读这个问题时,我意识到这并不是我想要的。

sed -i 's/^.\(.*\)/\1/' file