我试图删除文本文件中每行末尾的数字,我尝试过使用:
sed 's/[0-9]\+$//' <input.txt >output.txt
但它不起作用,但如果我是回声输入,即
echo "Bla1Bla123" | sed 's/[0-9]\+$//'
它将正常工作并按预期输出
Bla1Bla
从末尾删除“123”。
但是当我尝试使用input.txt时,它不能为每一行做到这一点..
input.txt的例子是
heyexample1:123example123
h123h:i123i123
然后应该输出
heyexample1:123example
h123h:i123i
相反,它不做任何改动
您的文件可能使用\r\n
行结尾编码(因为您在Windows上)。尝试使用's/[0-9]\+\r$/\r/'
替换命令(故意保留\r
)。
sed可能有办法处理CRLF行结尾,但在短暂搜索后我找不到它。