Фильтрация строки с помощью sed

У меня есть файл со столбцами вида

number_number  number  columns of numbers

Я хочу извлечь столбцы, начинающиеся с определенных чисел. Я попробовал следующее, но ничего не получил в выводе:

sed -n 's/14_90 2275.*/&/p'

Что не так с моей командой?

2
задан 17.05.2020, 11:41

1 ответ

Почему Вы не используете grep, который является правильным инструментом для Вашего случая? Вот пример для списка файлов, который запускается с 14_90 2275:

grep '^14_90 2275' filename

, Если Вы все еще хотите использовать sed, чем правильная команда:

sed -n '/^14_90 2275/p' filename

, Если пробелы являются вкладками, то необходимо использовать:

grep  

соответственно:

sed -n '/^14_90\t2275/p' filename

Или лучше:

grep  

соответственно:

sed -n '/^14_90\s2275/p' filename

для соответствия любым пробельным символам (пространство, вкладка и т.д.).

^14_90\s2275' filename

соответственно:

sed -n '/^14_90\s2275/p' filename

для соответствия любым пробельным символам (пространство, вкладка и т.д.).

^14_90\t2275' filename

соответственно:

sed -n '/^14_90\t2275/p' filename

Или лучше:

grep  

соответственно:

sed -n '/^14_90\s2275/p' filename

для соответствия любым пробельным символам (пространство, вкладка и т.д.).

^14_90\s2275' filename

соответственно:

sed -n '/^14_90\s2275/p' filename

для соответствия любым пробельным символам (пространство, вкладка и т.д.).

4
ответ дан 17.05.2020, 11:41
  • 1
    Спасибо за Ваш пример. На самом деле я читаю учебное руководство на sed и хотел бы обучить использование его... – jarppa79 17.05.2020, 11:42
  • 2
    Я просто попробовал эту команду (grep) и это doesn' t производят что-либо... Столбцы разделяются вкладками, но я пытался добавить \t и это didn' t не работают ни один – fedorqui 17.05.2020, 11:42
  • 3
    @bigTree, который я отредактировал свой ответ, чтобы видеть, как можно соответствовать любым пробельным символам (пространство, вкладка и т.д.). – fedorqui 17.05.2020, 11:43

Теги

Похожие вопросы