Как обрезать до первого разделителя и получить оставшуюся часть строк ?

У вас есть символы новой строки, потому что ls помещает их в отдельные строки. Новые строки исчезают без кавычек, потому что оболочка (bash) передает каждый текст, разделенный пробелами без кавычек, в команду в качестве отдельного аргумента.

Примечание. Подстановка команд выполняется оболочкой , а не ls , поэтому вам не требуется ls .

Следовательно, вы можете сделать

#!/bin/bash
echo *.fastq

или

#!/bin/bash
files="*.fastq"
echo "$files"
24
26.09.2017, 12:42
2 ответа

Просто командой cut:

echo "pandi/sha/Dev/bin/boot" | cut -d'/' -f2-
sha/Dev/bin/boot

  • -d'/'-разделитель полей

  • -f2--диапазон полей для вывода(-f<from>-<to>; в нашем случае :от 2до последнего)

75
27.01.2020, 19:40

С помощьюshell (POSIX sh/bash/Korn/zsh) parameter substitution expansion.

string="pandi/sha/Dev/bin/boot"
echo "${string#*/}"
25
27.01.2020, 19:40

Теги

Похожие вопросы