Você não precisa alcançar sed
para isso:
for i in "${g_inboundDir}"/*.pdf
do
echo "${i##*/}"; # will give u the filename
# aliter:
echo "${i}" | sed -e 's|.*/||' ;# will give the filename via sed as u wanted
done
Eu tenho uma variável g_inboundDir
que contém o valor '/ tmp / AI_INBOUND'.
Agora, eu preciso ler os arquivos no diretório apontado pela variável 'g_inboundDir' e depois trabalhar com os arquivos. Diretório '/ tmp / AI_INBOUND' contém arquivos a.pdf, b.pdf c.pdf etc.
NOTA: Eu não quero mudar meu diretório atual para '/ tmp / AI_INBOUND'
Eu escrevi o seguinte código:
for i in 'ls ${g_inboundDir}/*.pdf 2>/dev/null'
do
j='echo $i | sed "s/${g_inboundDir}//"';
echo $j;
done;
Eu esperava que echo $j
me fornecesse o nome do arquivo, mas estou recebendo um erro no comando sed.
Você não precisa alcançar sed
para isso:
for i in "${g_inboundDir}"/*.pdf
do
echo "${i##*/}"; # will give u the filename
# aliter:
echo "${i}" | sed -e 's|.*/||' ;# will give the filename via sed as u wanted
done