Преобразуйте многострочный сценарий удара в одну строку

У меня есть сценарий как это:

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

Я могу измениться для синтаксиса оператора в вышеупомянутом сценарии как:

  1. for f in *
  2. for f in *;
  3. for f in *;do

То же относится if состояние. Во всех случаях это должно генерировать надлежащую 1 строку. Каков мог быть автоматизированный способ сделать это?

2
задан 5 October 2015 в 14:59

2 ответа

Можно попробовать следующее:

awk '{ printf "%s", $0 }' script.txt
0
ответ дан 2 December 2019 в 03:51

Парсинг избивает остроты, трудная задача...

Так или иначе как начальная точка, здесь идет, предложение для покрытия очень определенных ситуаций как та представило

perl -p0e '
    s/#.*//; 
    s/;?\s+(do|done|then|else|fi)\s+/ ; $1 /g '
2
ответ дан 2 December 2019 в 03:51

Другие вопросы по тегам:

Похожие вопросы: