我想写一个用音乐填充目录的脚本,直到剩下一定的空间。该目录可能位于各种分区上,我不知道如何向目录询问可用空间或它的分区。
pseudocode
fill(directory)
until < 100 mb of free space in directory
copy music to directory
你会如何使用像bash,find等unix工具那样做呢?
答案 0 :(得分:3)
答案 1 :(得分:3)
我认为你的意思是你有一个特定的目录,在你想要填充的特定分区上,直到只剩下100 MB。
df命令将返回给定目录的磁盘/分区上剩余的磁盘空间量。
df musicfolder/
第四列将提供空闲空间
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 151733412 24153792 119871924 17% /
您可以使用awk获取第四列值并忽略标题。所以你的脚本将是这样的:
freespace=$(df /musicfolder | awk 'FNR>1{print $4}')
while [ $freespace -gt 10000000 ] ; do
(copy files from wherever)
freespace=$(df ~/musicfolder | awk 'FNR>1{print $4}')
done