Использование rev и awk
Рассмотрим это как пример входного файла:
$ cat file
Test this word
Keep the order
Попробуйте:
$ rev <file | awk '{for (i=NF; i>=2; i--) printf "%s%s",$i,OFS; print $1}'
tseT siht drow
peeK eht redro
(Используется awk, но, поскольку он используетнет расширенных функций awk, он должен работать на MacOS.)
Использование в скрипте
Если вам нужно поместить вышеупомянутое в скрипт, то создайте файл наподобие:
$ cat script
#!/bin/bash
input="/Users/Anastasiia/Desktop/Tasks/test.txt"
rev <"$input" | awk '{for (i=NF; i>=2; i--) printf "%s%s",$i,OFS; print $1}'
И, запустите файл:
$ bash script
tseT siht drow
peeK eht redro
Использование bash
while read -a arr
do
x=" "
for ((i=0; i<${#arr}; i++))
do
((i == ${#arr}-1)) && x=$'\n'
printf "%s%s" $(rev <<<"${arr[i]}") "$x"
done
done <file
Применение выше к нашему тестовому файлу:
$ while read -a arr; do x=" "; for ((i=0; i<${#arr}; i++)); do ((i == ${#arr}-1)) && x=$'\n'; printf "%s%s" $(rev <<<"${arr[i]}") "$x"; done; done <file
tseT siht drow
peeK eht redro