Atualmente imprime /dir1/dir2/dir3/filename
Eu só quero imprimir apenas o filename
"sem" os caminhos do diretório.
Alguma sugestão?
Respostas:
1 para resposta № 1A questão é extremamente vaga, mas supondo que você tenha um comando Bash como
echo "$path"
você pode imprimir apenas o nome do arquivo com
echo "${path##*/}"
echo
pode fazer coisas inesperadas quando usado com strings variáveis, então uma alternativa melhor é
printf "%sn" "${path##*/}"
0 para resposta № 2
Eu realmente não entendo o que você está tentando fazer, mas
ls /path/to/files > /path/to/output
Digamos que você tenha 3 arquivos de texto individuais no diretório, o acima irá combinar todos os 3 arquivos de cada nome de arquivo em uma linha sem o caminho real.
espero que ajude
Alternativa de bash
for file in /path/to/files/*.txt; do
echo ${file##*/} >> /path/to/output/filename.txt
done
0 para resposta № 3
usar nome de base para isso assim:
shortpath=$(pwd)
basename "$shortpath"
0 para a resposta № 4
Eu consegui fazer isso usando o awk
| awk "{(n = split ($ 18, a," / ")); imprima $ 6, $ 10, $ 8, um [n]," n "}"> /sometextfile.txt
"n" foi porque eu precisava de uma linha em branco entre os resultados.