我正在尝试编写一个脚本,在目录或文件中突出显示TODO注释。 我一直遇到的问题是我正在尝试使用以下输出格式
TODO:这是我需要做的 - >例如-file.txt的:行号
解析器不会抓取注释,因为TODO之后的':'。
#!/bin/bash
echo "TODO highlighter..."
grep -Hnr --color 'TODO' $* | awk -F: '{print $'${@:3}'" -> "$1 ":" $2}'
这是我用来测试的文件(todo-example.java):
//TODO: Bobo region Description
//todo this is good but needs new name
//TODO- John fix
这是输出:
//output
todo-example.java:4://TODO: Bobo region Descriptiontodo-example.java:4
todo-example.java:29: //TODO- John fix todo-example.java:29
//desired output
//TODO: Bobo region Description -> todo-example.java:4
//TODO- John fix -> todo-example.java:29
我尝试过更改参数,但似乎无法获得$ 3到$ N的预期结果。感谢。
答案 0 :(得分:3)
您只需在脚本中添加以下行:
0
要突出显示awk '/TODO/ { print FILENAME": "NR" -> "$0 }' "$@"
,您可以轻松地重复使用grep命令:
TODO