Otra awk
solución:
awk -F'//| ' 'NR==FNR{a[$1]=$3;next}NR>FNR{print $0,a[$1]}' fileB fileA
Tenga en cuenta que si el archivo B no contiene un nombre que esté presente en el archivo A, se imprimirá la línea.
Вот решение с использованием find
с опцией -exec
:
ores_resource() {
cd $HOME/.oresoftware/bash
find. -type f -exec bash -c 'echo "my file ${1:2}"' bash {} \;
}
Для каждого имени файла, найденного с помощью find
, запускается новый процесс bash с командной строкой, следующей за -c
. Каждое имя файла {}
передается в качестве аргумента $1
процессу bash (, подобно вашей переменной $f
).
Не уверен, что это надёжно, но я просто использовал обратные кавычки вот так:
ores_resource(){
for f in `(cd "$HOME/.oresoftware/bash" && find. -type f)`; do
f="${f:2}"
echo "my file $f"
done;
}