Posted by & filed under 每日一题.

【四脚猫】每日一题(9月29日):编写个shell脚本将当前目录下大于100K的文件转移到/tmp目录下,看谁的脚本写的更简洁。

参考答案:

花子给出了2种巧妙的方法,都是非常值得大家学习的

1
2
find . -type f -size +100k | xargs -i mv {} /tmp
find . -type f -size +100k -exec mv {} /tmp

离海很近解法用到了shell中的for语句,很是通俗易懂

1
2
3
4
for file in <code>find . -type f -size +100k</code>
{
mv ./$file /tmp/b
}

以下是一个采用awk的方法,略显繁琐

1
2
3
4
5
6
7
#!/bin/bashp
for Filename in $(ls -l |awk '$5 > 10240 {print $9}')
do
mv $Filename /tmp
done
ls -la /tmp
echo "Done!"

欢迎各位攻城狮,各位大牛给每日一题投稿,大家可以把自己碰到的有趣问题,工作中碰到的难题等…发送到 稿件邮箱:2313427189@qq.com