Isso é um pouco engraçado, pelo menos para mim. Tenho um arquivo no qual estou executando o comando awk e cut em um loop alimentado pelo comando head . O comando é:
head -n X all.du.K.txt | while read line ; do NON_APP=$(echo ${line} | awk '{print $1}' | cut -d"," -f2) ; APP=$(echo ${line} | awk '{print $2}' | cut -d"," -f2) ; PATH=$(echo ${line} | awk '{print $3}') ; echo ${PATH},${NON_APP},${APP} ; done >> final.csv
Se X for 1, funciona, mas se X for 2 ou qualquer outro número, recebo o seguinte erro:
head -n 2 all.du.K.txt | enquanto lê linha; faça NON_APP=$(echo ${line} | awk '{print $1}' | corte -d"," -f2); APP=$(echo ${line} | awk '{print $2}' | corte -d"," -f2); PATH=$(echo ${line} | awk '{print $3}'); echo ${PATH},${NON_APP},${APP}; feito >> final.csv
O comando 'cut' está disponível nos seguintes locais
- /bin/cortar
- /usr/bin/cut O comando não pôde ser localizado porque '/bin:/usr/bin' não está incluído na variável de ambiente PATH. cut: comando não encontrado O comando 'awk' está disponível nos seguintes locais
- /bin/awk
- /usr/bin/awk O comando não pôde ser localizado porque '/bin:/usr/bin' não está incluído na variável de ambiente PATH. awk: comando não encontrado O comando 'awk' está disponível nos seguintes locais
- /bin/awk
- /usr/bin/awk O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. awk: comando não encontrado O comando 'cut' está disponível nos seguintes locais
- /bin/cortar
- /usr/bin/cut O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. cut: comando não encontrado O comando 'awk' está disponível nos seguintes locais
- /bin/awk
- /usr/bin/awk O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. awk: comando não encontrado
Meu ambiente $PATH é o seguinte:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Se executar o loop acima com set -x ativado, obtenho a seguinte saída, apenas para referência:
- cabeça -n 2 all.du.K.txt
- ler linha ++ echo /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,5375K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,17086K /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c ++ awk '{print $1}' ++ cut -d, -f2
- NON_APP=5375K ++ echo /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,5375K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,17086K /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c ++ awk '{print $2}' ++ cut -d, -f2
- APP=17086K ++ echo /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,5375K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,17086K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c ++ awk '{imprimir $3}'
- PATH=/var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c
- eco /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,5375K,17086K
- ler linha ++ echo /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,145K /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,191K /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4 ++ awk '{print $1}' ++ '[' -x /usr/lib/command-not-found ']' ++ cut -d, -f2 ++ /usr/lib/command-not-found -- awk ++ '[' -x /usr/lib/command-not-found ']' ++ /usr/lib/command-not-found -- cut O comando 'cut' está disponível nos seguintes locais
- /bin/cortar
- /usr/bin/cut O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. cut: comando não encontrado O comando 'awk' está disponível nos seguintes locais
- /bin/awk
- /usr/bin/awk O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. awk: comando não encontrado ++ return 127 ++ return 127
- NON_APP= ++ echo /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,145K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,191K /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4 ++ awk '{print $2}' ++ '[' -x /usr/lib/command-not-found ']' ++ /usr/lib/command-not-found -- awk ++ cut -d, -f2 ++ '[' -x /usr/lib/command-not-found ']' ++ /usr/lib/command-not-found -- cut O comando 'cut' está disponível nos seguintes locais
- /bin/cortar
- /usr/bin/cut O comando não pôde ser localizado porque '/bin:/usr/bin' não está incluído na variável de ambiente PATH. cut: comando não encontrado O comando 'awk' está disponível nos seguintes locais
- /bin/awk
- /usr/bin/awk O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. awk: comando não encontrado ++ return 127 ++ return 127
- APP= ++ echo /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,145K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,191K /var/opt/gitlab/gitlab-rails/shared/artifacts/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4 ++ awk '{print $3}' ++ '[' -x /usr/lib/command-not-found ']' ++ /usr/lib/command-not-found -- awk O comando 'awk' está disponível nos seguintes locais
- /bin/awk
- /usr/bin/awk O comando não pôde ser localizado porque '/usr/bin:/bin' não está incluído na variável de ambiente PATH. awk: comando não encontrado ++ return 127
- CAMINHO=
- eco ,,
- leia a linha
Exemplo do meu arquivo de entrada:
/var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,5375K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c,17086K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/e7/e0e72896f2d07d134de6efb2d6541bed7e297e17f010f67f30247abc56d92c6c /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,145K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4,191K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/38/e03865e0382175da3126eb126534c2d3c9b4cf69483fa8a167d05c070360edc4 /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/f2/e0f23d7875aff9c6b4ef20f27e7d38c4e312811ae627319267f566a4dc244636,168K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/f2/e0f23d7875aff9c6b4ef20f27e7d38c4e312811ae627319267f566a4dc244636,555K /var/opt/gitlab/gitlab-rails/compartilhado/artefatos/e0/f2/e0f23d7875aff9c6b4ef20f27e7d38c4e312811ae627319267f566a4dc244636
Alguém tem ideia do que é Diversão aqui? A versão do Bash é "GNU bash, versão 5.0.17(1)-release (x86_64-pc-linux-gnu)"