我正在尝试找到一种解决方案,以在行中首次出现数字之前添加符号#。

Input:
NewYork1986
Paris20
tokyo1

Expected ouput:
NewYork#1986
Paris#20
tokyo#1

到目前为止,我已经尝试过:
sed 's/\([0-9].\).*/#\1/g'

Which gives me:
NewYork#19
Paris#20
tokyo1

我想我快要走了,但是有什么丢失。

谢谢你的帮助

最佳答案

该sed应该为您工作:

sed 's/[0-9]/#&/' file
NewYork#1986
Paris#20
tokyo#1
  • 没有g(全局)标志的情况下,您不需要匹配超过1位数字,因为您需要做的就是匹配每行中的第一位数字。
  • &sed正则表达式模式对完全匹配的反向引用。
  • 09-25 22:01