Баш получить первые n символов без пробелов



Я пытаюсь проверить, закомментирована ли определенная строка в файле (имеет // в качестве первых небелых символов строки). Как я могу сделать это в Баш? Я согласен с использованием sed, awk, что угодно, если это стандартно для OS X.



Я пробовал:



grep textOnlyOnMyLine | cut -c 1-2 myFile.java


Но это будет собирать пробелы, если пробелы являются первыми 2 символами строки. Кроме того, эта команда, кажется, зависает после вывода того, что она находит.

558   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

    Ничего не найдено.