Джесси _b дал частичный ответ в комментарии , но это может не совсем то, что вы хотите.
Если вы точно описали, что хотите, то это на самом деле очень просто:
while read -a nums
do
for num in "${nums[@]}"
do
printf '%d00 hours ' "$num"
done
done < file1
read -a nums
считывает массив значений (, т. е. несколько значений ). "${nums[@]}"
относится к набору значений хранится в массиве nums
; for num in …
перебирает их, назначая каждому элементу num
. Затем мы печатаем каждое, за которым следует 00 hours
и пробел.
Это напечатает их все в одной строке, как вы показали в своем вопросе. Чтобы завершить линию, добавьте echo
или printf '\n'
в конце приведенного выше кода. Если вы хотите, чтобы каждый из них печатался на отдельной строке, измените команду printf
(в середине )на
printf '%d00 hours\n' "$num"
попробуйте с tr -d \',
; как printf '%s\n' "$var3" |tr -d \',
; это удаляет все запятые и одинарные кавычки из переменной $var
.
Попробуйте bash
«Расширение параметров :Замена шаблона»:
$ echo "${var3//,}"
'/scripts/tautullimess.sh' 'Alf Complete' '-' 'S1E1' '-' 'Episode 1' 'has' 'been' 'paused' 'hellfire' 'i' 'Engsub - Series''testing']
$ echo "${var3//[\',]}"
/scripts/tautullimess.sh Alf Complete - S1E1 - Episode 1 has been paused hellfire i Engsub - Series testing]