У меня есть сценарий как это:
for f in *
do
#if condition
if [[ -d $f ]]; then
echo "$f is a directory";
else
echo "$f is not a directory";
fi
done
Действительно ли возможно преобразовать, несколько пишут сценарий в 1 строку как это? (возможно, я должен удалить #
оператор (операторы) комментария).
for f in *; do if [[ -d $f ]]; then echo "$f is a directory"; else echo "$f is not a directory"; fi done
Я могу измениться для синтаксиса оператора в вышеупомянутом сценарии как:
for f in *
for f in *;
for f in *;do
То же относится if
состояние. Во всех случаях это должно генерировать надлежащую 1 строку. Каков мог быть автоматизированный способ сделать это?
Можно попробовать следующее:
awk '{ printf "%s", $0 }' script.txt
Парсинг избивает остроты, трудная задача...
Так или иначе как начальная точка, здесь идет, предложение для покрытия очень определенных ситуаций как та представило
perl -p0e '
s/#.*//;
s/;?\s+(do|done|then|else|fi)\s+/ ; $1 /g '