Я не уверен в вашем полном требовании, поэтому, решив ваш вопрос, укажите c.
awk
решение:
echo "${mount_check[*]}" | awk -F'mounted.' '{gsub(/ File/,"File");print $1 FS ORS $2 FS}'
ИЛИ не один лайнер для вышеуказанного решения:
echo "${mount_check[*]}" |\
awk -F'mounted.' '
{
gsub(/ File/,"File")
print $1 FS ORS $2 FS
}'
Я полагаю, что ваш вывод всегда будет иметь File
строку в выводе.
Что примет это решение забота о:
- Это НЕ будет печатать пробел, который появляется во 2-й строке, когда вы использовали команду
tr
. - 2-ая вещь, которая потребуется позаботьтесь о том, чтобы была пустая строка, которая НЕ будет напечатана.
Если вы хотите придерживаться своего кода tr
, то попробуйте выполнить следующее.
echo "${mount_check[*]}" |tr '.' '\n' | sed -E 's/^ +//g;/^$/d'