текст grep только после ":" - PullRequest
       4

текст grep только после ":"

0 голосов
/ 31 октября 2018

У меня есть файл .txt, который содержит разные слова, такие как blablabla: thatswhationlywant.

Слова блаблаблы всегда разные. Поэтому мне нужно распечатать только все символы после ":" - как я могу это сделать?

Большое спасибо!

Ответы [ 3 ]

0 голосов
/ 31 октября 2018

Еще одна возможность. Это не лучше и не хуже, чем предоставляемые решения grep, но если вы один из тех людей, более знакомых с простыми приложениями операции sed * s///, которые grep -o с \K может подойти.

$: sed 's/^.*://' in.txt
thatswhationlywant.

Если вы не очень знакомы с sed (проверьте здесь для более подробной информации) -

  • s/a/b/ означает найти шаблон a и заменить его на b.
  • ^ привязывает шаблон поиска в начале строки
  • . соответствует любому символу (опять же, см. Подробности для точных исключений)
  • * означает «0 или более из предыдущего шаблона», в данном случае это точка (.), поэтому любое число любого символа
  • : - буквальное двоеточие

То есть 's/^.*://' означает «заменить любые / все символы от начала строки до двоеточия включительно и ничего».

Имейте в виду, что двоеточие - это символ, поэтому если в строке есть несколько двоеточий, они ВСЕ будут использованы, потому что * "жадный".

$: echo "a:b:c:d"|sed 's/^.*://'
d

Если это не то, что вы хотите, подпишите в [^:] (что означает « не двоеточие», потому что внутри «символьного класса» в квадратных скобках ^ - это не ') для ., вот так:

$: echo "a:b:c:d"|sed 's/^[^:]*://'
b:c:d
0 голосов
/ 31 октября 2018

используйте cut инструмент для фильтрации выходных данных grep. grep ":" file.txt | cut -d ":" -f 2 будет показывать текст только после символа ':' взгляните на страницу руководства для cut для получения дополнительной информации

0 голосов
/ 31 октября 2018

Вы можете использовать grep следующим образом:

grep -o ':.*' file.txt

но это будет включать:

Я бы, наверное, сделал это с помощью cut, так как он будет более производительным

cut -d: -f2 file.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...