我应该制作一个脚本,使用“set”命令打印当前目录中的所有大小和文件名,按大小排序。使用“set”命令的简单bash脚本
#!/bin/bash
touch /tmp/unsorted
IFS='@'
export IFS
ls -l | tr -s " " "@" | sed '1d' > /tmp/tempLS
while read line
do
##set probably goes here##
echo $5 $9 >> /tmp/unsorted
done < /tmp/tempLS
sort -n /tmp/unsorted
rm -rf /tmp/unsorted
通过逻辑,这是应该工作的脚本,但它只产生空白行。 经过与同学讨论后,我们认为“set”命令必须先在while循环中执行。问题是我们不能理解“set”命令的作用,以及如何使用它。请帮忙。谢谢。
你对'$ 5'的期望是什么,你想做什么? –
$ 5是大小,$ 9是文件名 – alf
请注意,如果文件名有空格,它不会完全包含在'$ 9' –