使用"set"命令的简单bash脚本

alf*_*alf 3 bash

我应该创建一个脚本,使用"set"命令在当前目录中打印所有大小和文件名,按大小排序.

#!/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
Run Code Online (Sandbox Code Playgroud)

按逻辑,这是应该工作的脚本,但它只产生空行.在与同学讨论之后,我们认为"set"命令必须首先在while循环中.问题是我们无法理解"set"命令的作用以及如何使用它.请帮忙.谢谢.

Kar*_*ath 6

ls -l | while read line; do
  set - $line
  echo $5 $9
done | sort -n
Run Code Online (Sandbox Code Playgroud)

或者干脆

ls -l | awk '{print $5, $9}' | sort -n
Run Code Online (Sandbox Code Playgroud)