我正在尝试检查文件中的某一行是否被注释掉(//作为该行的第一个非空格字符)。我怎么能用bash做到这一点?只要它是OS X的标准配置,我就可以使用sed,awk等等。
我试过了:
grep textOnlyOnMyLine | cut -c 1-2 myFile.java
但如果空格是该行的前2个字符,则会拾取空格。此命令似乎在输出它找到的内容后挂起。
答案 0 :(得分:6)
您可以使用grep:
grep '^[[:blank:]]*//' *.java
要搜索特定的行#,您可以使用sed:
sed -n '3s|^[[:blank:]]*//|&|p' file
答案 1 :(得分:3)
使用awk
,您可以获得评论行:
awk '/\s*\/\//' file
因此,它会在该行中查找[spaces]
加//
,然后将其打印出来。
如果你想检查一个特定词,你可以这样做:
awk '/\s*\/\// && NR==line_number' file
$ cat a
hello
// this is a coment
// this is a coment
$ awk '/\s*\/\//' a
// this is a coment
// this is a coment
$ awk '/\s*\/\// && NR==1' a
$
$ awk '/\s*\/\// && NR==2' a
// this is a coment