如何在grep输出中替换行号分隔符
我正在做:如何在grep输出中替换行号分隔符,grep,delimiter,Grep,Delimiter,我正在做: egrep -e "String" -in -A 2 file1.log 我得到的输出是 111:some text 112-some text 113-some text 如何将文件中每行开头的每一行号的^'[0-9]{1,9}-'替换为^'[0-9]{1,9}:'?所以它看起来像: 111:some text 112:some text 113:some text 将输出导入sed。这在这里起作用: grep ... | sed 's/^\([0-9]\+\)-/\1:/'
egrep -e "String" -in -A 2 file1.log
我得到的输出是
111:some text
112-some text
113-some text
如何将文件中每行开头的每一行号的^'[0-9]{1,9}-'替换为^'[0-9]{1,9}:'?所以它看起来像:
111:some text
112:some text
113:some text
将输出导入
sed
。这在这里起作用:
grep ... | sed 's/^\([0-9]\+\)-/\1:/'
看一看,希望有帮助!我试过了,但没有成功。我在一个2文件1.log | sed's/^'[0-9]{1,9}-'/^'[0-9]{1,9}:'/'非常感谢,thor:),是的,它工作正常,但它也删除了组分隔符'-'。正如解决方法一样,我使用grep的这个选项将组分隔符更改为“==”——“组分隔符==”@ypp:Yes我注意到了这一点,并将模式更改为使用
\+
量词,而不是*
。