Предположим, у меня есть каталог с такой структурой:
Я делаю скрипт, который удаляет букву «х» в тех случаях, когда в конце есть один, чтобы иметь это:
Итак, я подумывал сделать For L oop, который идет к каждому каталога, а затем взять последнюю часть пути к папке
for d in Fruits_and_Vegetables/*/
do
(cd "$d" && Fruit_or_Vegetable=`basename "$PWD"`)
done
Проблема в том, что я не уверен, как сказать go и взять только последний каталог
А затем, Я думал об изменении строки
echo $Fruit_or_Vegetable | awk '{print substr($1, 1, length($1)-1)}' # substr(s, a, b) : it returns b number of chars from string s, starting at position a.
# The parameter b is optional, in which case it means up to the end of the string.
Проблема в том, что я не знаю, как сказать AWK, чтобы рассматривать "Moscato Giallox" как одно слово, потому что когда я выполняю команду, она возвращает "Moscat". "Giallox" вместо "Moscato Giallo" .. также, я думаю, мне нужно разместить оператор if, чтобы увидеть, является ли последняя буква x, и выполнить команду только в этих случаях.
Не могли бы вы дать мне несколько предложений, спасибо.