У меня есть файл со следующим содержанием:
(((jfojfojeojfow
//
hellow_rld
(((jfojfojeojfow
//
hellow_rld
Как я могу извлечь каждую строку, которая начинается с круглых скобок?
grep
sed
regex
text-processing
user3069326
источник
источник
Ответы:
Символом для начала строки является
^
. Итак, чтобы напечатать все строки, чей первый символ - это(
, вы хотите сопоставить^(
:grep
sed
источник
С помощью
perl
Выход:
Пояснение (часть регулярного выражения)
/^\(/
^
утвердить позицию в начале строки\(
(
буквально соответствует персонажуисточник
Вот
bash
один вкладыш:Здесь мы читаем каждую строку ввода, и если строка начинается с
(
, строка печатается. Основной тест сделан[[ $i =~ ^\( ]]
.Использование
python
:Здесь
line.startswith('(')
проверяется, начинается ли строка с(
, если это так, то строка печатается.источник
AWK
awk '/^\(/' testfile.txt
Результат
питон
Как питон однострочный:
Или в качестве альтернативы:
BSD смотреть
look
это одна из классических, но малоизвестных утилит Unix, появившаяся еще в AT & T Unix версии 7. Отman look
:Результат:
источник
Вы можете сделать обратное.
или
источник
Используйте команду grep для этого. Предполагая, что файл с указанным содержимым называется t.txt:
С '--color' в качестве дополнительного аргумента вы можете даже увидеть в терминале цвет, что соответствует. Эта инструкция также не соответствует пустым строкам.
источник
(
не только те, которые начинаются с одной.