1. bash / Говнокод #16855

    −112

    1. 1
    `dirname $1`"/"`basename $1 | sed "s/\.squashfs//"`

    шелл. обрезаем расширение имени файла (заданого в $1). хергештельт ин дойчланд.

    Запостил: Dummy00001, 15 Октября 2014

    Комментарии (6) RSS

    • Ну да, man basename для ламеров же. Ну и что, что оно принимает вторым параметром подлежащий удалению суффикс, а ля `basename $1 .squashfs`.
      Ответить
      • а? ты про что?

        ${1%.squashfs}
        Ответить
        • А вот поспорим =)
          Хотя если файл .squashfs не встречается, то да, эквивалентно.

          Не, не поспорим, оригинал так же тупо обрабатывает.
          $ echo `dirname /test/foo.bar`"/"`basename /test/foo.bar .bar`
          /test/foo
          $ test=/test/foo.bar; echo ${test%.bar};
          /test/foo
          
          $ echo `dirname /test/.bar`"/"`basename /test/.bar .bar`
          /test/.bar
          $ test=/test/.bar; echo ${test%.bar};
          /test/
          Ответить
          • > Хотя если файл .squashfs не встречается, то да, эквивалентно.

            не встречается.

            задача: просто тупо расширение файла обрезать.

            если имя файла состоит только из расширения, то это просто кривые входные данные. и вывод аналогичный вводу намного опастнее, потому что так можно еще и исходные файл убить.
            Ответить
    • показать все, что скрыто-
      Ответить
    • ДАВАЙТЕ ФЛУДИТЬ И ТРОЛЛИТЬ! ;)
      Ответить

    Добавить комментарий