Команда Shell для удаления первой строки, заключенной с косой чертой

Мне нужна команда оболочки (предпочтительнее sed или awk), чтобы удалить строку, заключенную в косые черты.

Например, если моя строка является /some/dir/example/ то вывод должен быть dir/example/

  • Как запустить процесс linux и вернуться к нему позже?
  • Что означает «//» взамен от `which`
  • Что я делаю неправильно, пытаясь написать сценарий bash, который возвращает номер следующего доступного порта?
  • Выполнение сценария оболочки на нескольких серверах
  • Debian: настройка пути для узла с правами доступа, доступными глобально
  • В чем разница между запуском программы в качестве демона и разворачиванием ее в фоновом режиме с помощью «&»?
  • Сигнал, который не получен с помощью скрипта, выполняется с использованием sh -c
  • Удаление большого количества файлов
  • 3 Solutions collect form web for “Команда Shell для удаления первой строки, заключенной с косой чертой”

    С sed вы можете сделать:

     INPUT | sed 's|^/[^/]*/||' 

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

      $ string=/some/dir/example/ $ printf '%s\n' "${string#/*/}" dir/example/ 

    Это синтаксис оболочки POSIX.

    Через awk ,

     $ echo '/some/dir/example/' | awk -F'/' -v OFS='/' '{ print $3,$4FS}' dir/example/ 

    ИЛИ

     $ echo '/some/dir/example/' | awk -F'/' '{ print $3FS$4FS}' dir/example/ 
    Linux и Unix - лучшая ОС в мире.