Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 在文本中查找以特定字符串开头的行并在这些行前面加上前缀的脚本是什么?_Shell_Applescript_Prepend - Fatal编程技术网

Shell 在文本中查找以特定字符串开头的行并在这些行前面加上前缀的脚本是什么?

Shell 在文本中查找以特定字符串开头的行并在这些行前面加上前缀的脚本是什么?,shell,applescript,prepend,Shell,Applescript,Prepend,我正在寻找一个AppleScript或shell脚本(或另一个脚本),它可以自动在每一行前面加上#的前缀,该行的格式如下:2013-09-26(或任何其他日期) 我保存了一个日志,但希望使用标记生成标题。为我的每个笔记手动执行此操作有点麻烦。使用sed: sed -r 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}/#&/' inputfile 例如: $ cat in foo 2012-01-20 bar $ sed -r 's/^[0-9]{4}-[0-9]{2}-[

我正在寻找一个AppleScript或shell脚本(或另一个脚本),它可以自动在每一行前面加上#的前缀,该行的格式如下:2013-09-26(或任何其他日期)


我保存了一个日志,但希望使用标记生成标题。为我的每个笔记手动执行此操作有点麻烦。

使用
sed

sed -r 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}/#&/' inputfile
例如:

$ cat in
foo
2012-01-20
bar
$ sed -r 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}/#&/' in
foo
#2012-01-20
bar

编辑:正如所指出的,在MacOS上,您需要使用
-E
而不是
-r
,以实现此目的。

OSX的sed对扩展正则表达式使用
-E
而不是
-r
,并且
-r
不是
-E
的别名,就像在其他一些BSD sed中一样。@user495470谢谢。不要经常使用OSX;添加了信息。是的!成功了!谢谢!这节省了很多时间。得到一个好的答案也是很有趣的。再次感谢!