Analisar bash em oneliners é uma tarefa difícil ...
De qualquer forma, como ponto de partida, aqui vai uma sugestão para cobrir situações muito específicas como a apresentada
perl -p0e '
s/#.*//;
s/;?\s+(do|done|then|else|fi)\s+/ ; $1 /g '
Eu tenho um script assim:
for f in *
do
#if condition
if [[ -d $f ]]; then
echo "$f is a directory";
else
echo "$f is not a directory";
fi
done
É possível converter vários scripts em uma linha como essa? (talvez eu precise excluir # declaração (s) comentário).
for f in *; do if [[ -d $f ]]; then echo "$f is a directory"; else echo "$f is not a directory"; fi done
Eu posso mudar a sintaxe da declaração no script acima, como:
for f in * for f in *; for f in *;do O mesmo se aplica à condição if . Em todos os casos, deve gerar uma linha 1 apropriada. Qual poderia ser a maneira automatizada de fazer isso?
Analisar bash em oneliners é uma tarefa difícil ...
De qualquer forma, como ponto de partida, aqui vai uma sugestão para cobrir situações muito específicas como a apresentada
perl -p0e '
s/#.*//;
s/;?\s+(do|done|then|else|fi)\s+/ ; $1 /g '
Você pode tentar o seguinte:
awk '{ printf "%s", $0 }' script.txt