Команда du выводит с \ t, так что вы можете использовать 2 разделителя (\t,/
) в awk
> find . -type f -exec du -h {} + | sort -r -h | awk -F"[\t/]" ' { print $1,$NF } '
4.0K sameer.pkg
0 rem_col_rows.pl
0 rem_col_rows.dat
0 myfile
>
РЕДАКТИРОВАТЬ:
Чтобы получить как csv ...
> find . -type f -exec du -h {} + | sort -r -h | awk -F"[\t/]" ' { print $1,$NF } ' | tr ' ' ',' | tr '\n' ','
4.0K,sameer.pkg,0,skip_lines.txt,0,rem_col_rows.pl,0,rem_col_rows.dat,0,paras.txt,0,myfile,0,foo.yaml2,0,foo.yaml,
РЕДАКТИРОВАТЬ2
find . -type f -exec du -h {} + | sort -r -h | awk -F"[\t/]" ' { print $1,$NF } ' | tr ' ' ',' | tr '\n' ',' | sed 's/,$//g'
РЕДАКТИРОВАТЬ3
> find . -type f -exec du -h {} + | sort -r -h | awk -F"[\t/]" ' { printf("%s,%s\n",$1,$NF) } '
4.0K,sameer.pkg
0,skip_lines.txt
0,rem_col_rows.pl
0,rem_col_rows.dat
0,paras.txt
0,myfile
0,foo.yaml2
0,foo.yaml
>