Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: как из файла вытащить часть строки  (Прочитано 891 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ejik_off

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Всем привет, помогите решить задачку, есть файл с таким содержанием
19.     000000  0.0156%
20.     123qwe  0.0155%
21.     1234567890      0.0143%
22.     administrator   0.0142%
23.     azerty  0.0142%
24.     hello   0.0141%
25.     cisco12 0.0135%
26.     123321  0.0133%
27.     666666  0.0121%
28.     654321  0.0121%
29.     05524680        0.0117%
30.     pass    0.0115%
31.     root    0.0113%
32.     1111    0.0112%
33.     111     0.0112%
34.     12345   0.0111%
35.     1q2w3e4r        0.0105%
36.     iloveyou        0.0105%
37.     159753  0.0105%
38.     M0tH3ro0        0.0104%
39.     chocolat        0.0102%
нужно избавится от нумерации строк и процентов в конце строки, т.е получить только среднюю колонку. С регуляками у меня проблемы ни умею ими пользоваться, перечитал кучу инфы, но просветления так и не пришло :(. Если есть хороший мануальчик буду очень благодарен за ссылку :)

ТС не появлялся на Форуме более полугода по состоянию на 12/07/2019 (последняя явка: 06/08/2018). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 12 Июля 2019, 06:33:08 от zg_nico »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #1 : 03 Ноября 2015, 11:10:25 »
grep -o '[^.%[:blank:]]* ' fileДля спортивного интереса sed '/\n/P;s/\s\+/\n/g;D' filetr -s ' ' '\t' <file | cut -f2
« Последнее редактирование: 03 Ноября 2015, 11:27:06 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ejik_off

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #2 : 03 Ноября 2015, 11:34:19 »
Спасибо!!! 2 последние команды сработали, первая ни чего не вывела на экран.

Оффлайн RUstorm

  • Активист
  • *
  • Сообщений: 701
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #3 : 03 Ноября 2015, 12:41:24 »
ejik_off,
Почитайте про awk и cut, в сети много информации.
cat <namefile> | awk '{print $2}'

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #4 : 03 Ноября 2015, 13:06:09 »
первая ни чего не вывела на экран.
Странно… может что-то напутали с вводом? Кстати, можно немного сократитьgrep -o '\w\+ ' file
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ejik_off

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #5 : 04 Ноября 2015, 05:53:02 »
ejik_off,
Почитайте про awk и cut, в сети много информации.
cat <namefile> | awk '{print $2}'
спасибо, почитаю.
первая ни чего не вывела на экран.
Странно… может что-то напутали с вводом? Кстати, можно немного сократитьgrep -o '\w\+ ' file
С вводом не напутал, проверял несколько раз, и даже копипастил, и grep -o '\w\+ ' file - тоже ничего не выводит.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2934
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #6 : 04 Ноября 2015, 11:02:40 »
Если надо удалить только один символ, который в строке нигде больше не встречается,
то это можно также с помощью tr. Также надёжнее пользоваться awk, чем cut,
т.к. awk и группу пробелов воспринимает как один, а cut нет. Также и несколько
пробелов можно заменить на один с помощью tr.
Пётр.

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #7 : 04 Ноября 2015, 14:38:32 »
Ха, значит разделитель не пробел!grep -o '\w\+\s' fileА так?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ejik_off

  • Автор темы
  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #8 : 05 Ноября 2015, 11:28:00 »
Ха, значит разделитель не пробел!grep -o '\w\+\s' fileА так?
Так работает, спасибо!!! А что значит это комбинация \w\+\s?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: как из файла вытащить часть строки
« Ответ #9 : 05 Ноября 2015, 12:27:08 »
А что значит это комбинация \w\+\s?
Википедия
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.05 секунд. Запросов: 23.