Я хочу получить file names followed by their size
для всех файлов, имеющих размер в МБ или ГБ.Я сделал это до сих пор:
LIST=$(ls -lh -d -1 $PWD/{*,} | awk '{ print $9":"$5 }')
for i in $LIST
do
if [[ $( echo "$i" | cut -f2 -d: | egrep "M|G" | wc -l) -ne 0 ]]
# egrep not working, only finds M
then
echo "$i" >> bigfiles
fi
done
То, что я получаю, это:
amit@C0deDaedalus:~$ test/findbig
/home/amit/Batch:3.8M
/home/amit/Black:3.6M
То, что я хочу, это:
amit@C0deDaedalus:~$ test/findbig
/home/amit/Batch File Programming.pdf:3.8M
/home/amit/Black Panther - Legend Has It ( Instrumental ).opus:3.6M
По сути, всеработает нормально, за исключением filenames
, которые я получаю, не завершены.Показывается только первое слово.Я не могу понять, есть ли что-то не так с логикой или синтаксисом, но я думаю, что это как-то связано с awk
.
Итак, как мне получить полные пути к файлам (с пробелами вмежду) в выводе?
Я пробовал трюк с циклом в awk , но не знаю, как заставить оба столбца вписаться.