Sed - 从 line/string 末尾删除数字
Sed - Remove digits from end of line/string
我正在尝试删除文本文件中每一行末尾的数字,我试过使用:
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 行结尾,但我简单搜索后找不到。
我正在尝试删除文本文件中每一行末尾的数字,我试过使用:
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 行结尾,但我简单搜索后找不到。