Eu tenho esta linha de código para o shell:
ls -1 *.mp3| awk -v here="$(cygpath -w $PWD)" -v source="$source" '{print "File Name: "$0"\n"here"\n"source}'
Infelizmente, ele produz:
File Name: Data 00053.mp3
C:UsersathenaWorkProject_10.MBT
Source: Converted from RAW
Esta linha C:UsersathenaWorkProject_10.MBT
deve serC:\Users\athena\Work\Project_10\00.MBT
Agora estou perdido, muito a aprender aqui.
Esse é um problema relacionado a como
awk
trata o valor passado usando-v
. Ele interpreta as barras invertidas na string passada.Em vez disso, passe-o por uma variável de ambiente:
ENVIRON
é um array associativo emawk
que contém os valores das variáveis no ambiente atual, digitados por nome.Também relacionado ao seu código: