Linux 文件编辑-命令行unix
我想从命令行编辑一个文件,因为在vim或其他编辑器中打开它需要很长时间(一个大文件)。我想在没有用#注释掉的每一行的开头添加一个字符串('chr')。我使用的命令如下:Linux 文件编辑-命令行unix,linux,file,unix,sed,Linux,File,Unix,Sed,我想从命令行编辑一个文件,因为在vim或其他编辑器中打开它需要很长时间(一个大文件)。我想在没有用#注释掉的每一行的开头添加一个字符串('chr')。我使用的命令如下: cat '/home/me/37.vcf' | sed s/^/chr/>'sp.vcf' 但它会在每行的开头添加一个chr,在每行的结尾添加一个>。我不想发生这两件事。 有人能给我一些建议来提高我的成绩吗 您可以在sed命令中发现语法错误。使用此语法正确的sed命令: sed -E 's/^([^#]|$)/chr/'
cat '/home/me/37.vcf' | sed s/^/chr/>'sp.vcf'
但它会在每行的开头添加一个chr,在每行的结尾添加一个>。我不想发生这两件事。
有人能给我一些建议来提高我的成绩吗 您可以在sed命令中发现语法错误。使用此语法正确的sed命令:
sed -E 's/^([^#]|$)/chr/' /home/me/37.vcf > sp.vcf
或在Linux上:
sed -r 's/^([^#]|$)/chr/' /home/me/37.vcf > sp.vcf
您可以在sed命令中发现语法错误。使用此语法正确的sed命令:
sed -E 's/^([^#]|$)/chr/' /home/me/37.vcf > sp.vcf
或在Linux上:
sed -r 's/^([^#]|$)/chr/' /home/me/37.vcf > sp.vcf
要仅将替换应用于不以
#
开头的行,请执行以下操作:
注意:命令
cat
用于连接文件,在这里没有用处 仅对不以开头的行应用替换:
注意:命令cat
用于连接文件,在这里没有用处 这可能适合您(GNU-sed):
这可能适用于您(GNU-sed):
它不会在空行上添加chr
。不确定OP是否希望这样。它不会在空行上添加chr
。不确定OP是否希望这样。