Вырезать команду для поиска данных между строками

Можете ли вы помочь мне в использовании любой команды unix для вырезания данных между файлами

мои файлы:

MYFILES_DATA_SOMETHING_20150428.xml MYFILES_DATA_SOMETHING_20150429.xml.gz etcc.... 

Я хочу найти только дату между этими файлами и хранить в массиве. например, я попробовал

 echo MYFILES_DATA_SOMETHING_20150428.xml | cut -d '_' -f4 

но он дает мне 20150428.xml. но я хочу только даты во всех файлах.

  • «Неожиданный конец файла», возвращенный из скрипта BASH
  • Bash - Как я могу сделать «Нажмите любую клавишу, чтобы продолжить»
  • Предупреждение mdoc: пустая строка ввода #xx
  • оценка арифметического расширения в bash
  • Bash: что такое присвоение `a =` определено?
  • Полностью перезапустите Bash
  • Состояние выхода асинхронного процесса
  • bash: Является ли продолжительность между двумя временными метками более одного часа?
  • One Solution collect form web for “Вырезать команду для поиска данных между строками”

    Вам нужно пройти еще один режим работы . как разделитель:

     $ echo 'MYFILES_DATA_SOMETHING_20150428.xml' | cut -d_ -f4 | cut -d. -f1 20150428 

    Это можно сделать с помощью многих инструментов:

    Использование bash или любой оболочки POSIX:

     $ var='MYFILES_DATA_SOMETHING_20150428.xml' $ var="${var##*_}" $ echo "${var%.*}" 20150428 

    Использование GNU grep :

     $ echo 'MYFILES_DATA_SOMETHING_20150428.xml' | grep -o '[0-9]\+' 20150428 

    Использование GNU sed :

     $ echo 'MYFILES_DATA_SOMETHING_20150428.xml' | sed 's/^.*_\([0-9]\+\).*$/\1/' 20150428 

    Вы также можете использовать expr (спасибо Stéphane Chazelas):

     $ var='MYFILES_DATA_SOMETHING_20150428.xml' $ expr "x$var" : '.*_\([^.]*\)' 20150428 

    Использование python :

     $ python2 -c 'print "MYFILES_DATA_SOMETHING_20150428.xml".split("_")[-1].split(".")[0]' 20150428 
    Interesting Posts

    Как я могу защитить initrd и grub.cfg, используя безопасную загрузку?

    Как настроить Linux для того, чтобы не требовать sudo для определенных команд для определенных пользователей?

    Как я могу создать скрипт bash, который определяет, запущена ли программа?

    Автозаполнение вкладки Bash / zsh: заданная начальная команда, игнорировать определенные файлы в каталоге с автозаполнением

    Я хочу установить Kali Linux бок о бок на моей машине, которая в настоящее время работает на Ubuntu 12.10

    Сделать `rsync -link-dest` поиск файлов рекурсивно

    Bluetooth-мышь отключается

    Как определить, куда перенаправляется ссылка

    Загрузка программного обеспечения UEFI

    wget не может быть убит с помощью 'kill -9'

    Беспроводные сети, показывающие «устройство не управляемое» в Network Manager

    Как установить переменные среды другого процесса?

    Настройка сети для совместного использования принтера, подключенного к одной конкретной машине в сети

    Чтение двоичного файла в виде массива байтов или 16 или 32 бит с использованием сценария оболочки

    Переименование файлов рекурсивно в sh

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