Баш получить первые n символов без пробелов
Я пытаюсь проверить, закомментирована ли определенная строка в файле (имеет // в качестве первых небелых символов строки). Как я могу сделать это в Баш? Я согласен с использованием sed, awk, что угодно, если это стандартно для OS X.
Я пробовал:
grep textOnlyOnMyLine | cut -c 1-2 myFile.java
Но это будет собирать пробелы, если пробелы являются первыми 2 символами строки. Кроме того, эта команда, кажется, зависает после вывода того, что она находит.
2 ответов:
Вы можете использовать grep:
grep '^[[:blank:]]*//' *.javaДля поиска конкретной строки # можно использовать sed:
sed -n '3s|^[[:blank:]]*//|&|p' file
С помощью
awkВы можете получить строки, которые являются комментариями:awk '/\s*\/\//' fileПоэтому он ищет
[spaces]плюс//в строке и затем печатает их.В случае, если вы хотите проверить слово specifid, вы можете сделать:
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
Comments