Изменить на это:
for dir in $(find. -maxdepth 1 -type d | grep -v \\.$ | awk -F'./' '{print $2}')
do
echo "dir: $dir"
done
Я не могу объяснить, почему это работает, но я знаю, что вы почти всегда должны использовать $()
вместо обратных кавычек.
Можно использовать комбинацию cut
и paste
:
paste -sd, <(cut -d: -f1 file) <(cut -d' ' -f2- file)
или используйтеawk
:
awk -F': ' 'NR==1{h=$1;v=$2}
NR>1{h=h","$1;v=v","$2}
END{print h;print v}
' file