我應該製作一個腳本,使用「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' –