Как удалить определенные символы в текстовом файле

У меня есть следующие строки в текстовом файле:

1 Q0 /home/nikol123/Downloads/Ergasia_1/Ergasia_1/metadata/13/120411.xml 1 1 Q0 /home/nikol123/Downloads/Ergasia_1/Ergasia_1/metadata/11/105016.xml 2 1 Q0 /home/nikol123/Downloads/Ergasia_1/Ergasia_1/metadata/15/149972.xml 3 1 Q0 /home/nikol123/Downloads/Ergasia_1/Ergasia_1/metadata/12/110688.xml 4 

и я хочу сохранить только эти данные:

 1 Q0 120411 1 1 Q0 105016 2 1 Q0 149972 3 1 Q0 110688 4 

а именно сохранить от каждой строки путь /home/nikol123/Downloads/Ergasia_1/Ergasia_1/metadata/13/120411.xml например, только номер 120411 и т. д. …

  • Прочитайте файлы из каталога и упорядочите их в соответствующих папках
  • Что случилось с этим csh-файлом?
  • Инструмент для автоматического извлечения суб-изображений, находящихся внутри изображения: суб-изображения, разделенные пробелами
  • Скрипты многотомных (GNU) `tar` с заранее определенным количеством томов
  • невозможно открыть файл в качестве первого аргумента
  • enf файла неожиданно (кроме "f $ ing" fi ")
  • Как убить два или несколько процессов с помощью одной команды kill?
  • Если количество строк в строке csv больше, чем x, то удалите второй экземпляр
  • 3 Solutions collect form web for “Как удалить определенные символы в текстовом файле”

    Попробуйте awk с / awk , а также (пробел) в качестве разделителей полей:

     awk -F'[/. ]' '{print $1 " " $2 " " $11 " " $13}' file 

    Вывод:

     1 Q0 120411 1 1 Q0 105016 2 1 Q0 149972 3 1 Q0 110688 4 

    Попробуйте sed:

     sed 's/\(1 Q0\).*\/\(.*\)\.xml\( .*\)/\1 \2\3/' file 

    ИЛИ

     sed 's/\(.*\)\/home.*\/\(.*\)\.xml\( .*\)/\1\2\3/' file 

    Вывод:

     1 Q0 120411 1 1 Q0 105016 2 1 Q0 149972 3 1 Q0 110688 4 

    Мое решение с sed (OSX & BSD):

     sed -E 's!([0-9]*) (Q0) [a-zA-Z0-9_/]*/([0-9]*).xml ([0-9])!\1 \2 \3 \4!g' file.txt 

    Если вам нужен другой шаблон (например, Q0 не постоянный …), вы должны его адаптировать.

    Interesting Posts

    Правильный способ создания «постоянного» RAM fs

    Настройка ssh для сеанса linux to solaris

    Изменение имени хоста на рабочем столе Linux Mint до случайного значения во время загрузки

    (Arch Linux) XOrg не будет работать (черный экран и / или отсутствие подсветки) после установки драйверов nvidia

    Crontab не может связаться с несколькими Mac?

    Почему параметры в кавычковой переменной не работают, но работают при некорректном?

    Как бы вы назначили разрешения только для чтения для запуска ls -l / proc / {pid} / fd для процессов, которые у вас нет?

    Время ожидания устройства после включения lvmcache

    Какова соответствующая ценность vm.swappiness при использовании zram?

    Иконки GTK для специальных файлов

    HTTPD-сервер не запускается после отключения этих модулей mod_include, mod_info, mod_autoindex и mod_userdir

    Неправильный eUID в `/ proc / PID / status`, когда используется SETUID

    Как я могу авторизовать на рабочем столе с systemd?

    ls –color = auto (dir colors) не работает в одном каталоге

    avahi-daemon удаляет IP-адрес из моего сетевого интерфейса

    Linux и Unix - лучшая ОС в мире.