我想在一行文字中找到所有减号后跟一位数字的实例。这些数字用逗号分隔,但也可以在行的末尾
text.txt包含
hx,-7,u,-9,u,-8
(最后有一个换行符)
我正在运行此命令
egrep -o ',[\-][0-9][\n,]' text.txt
得到
,-7,
,-9,
但我想得到
,-7,
,-9,
,-8
编辑: 像
这样的东西hx,-7,u/-9,u,-8
仍然应该产生
,-7,
,-9,
,-8
并使用
egrep -o ',[\-](1|2)?[0-9XY][\,$]' text.txt
不起作用
答案 0 :(得分:1)
grep
以每行为基础工作,并且新行字符不匹配,因为它们被视为每行的分隔符。
How to give a pattern for new line in grep?表示pcregrep
可以执行多行grep操作。
或者,您可以使用tr
将\n
字符翻译为,
,即:
cat text.txt | tr '\n' ',' | egrep -o ',[\-][0-9][\n,]'
的产率:
,-7,
,-9,
,-8,