Bash 用于在管道传输到 while 循环之前对输入文件进行排序的脚本
Bash script to sort input file before piping to while loop
我有这个 bash 脚本:
while IFS='"' read -r a ip c
do
echo "ip: $ip"
whois "$ip" | grep netname
done < <(head -10 file.log)
如何在获取前十行并将其移交给 while 循环之前对 file.log
文件进行排序(例如使用 sort -n -r
)?
使用这个命令,
sort -nr file.log | head -10
如果你想得到排序后的前10行,只需sort
它再使用head
:
while IFS='"' read -r a ip c
do
echo "ip: $ip"
whois "$ip" | grep netname
done < <(sort file.log | head -10)
^^^^^^^^^^^^^^^
当然,应用您需要的 sort
标志。
我有这个 bash 脚本:
while IFS='"' read -r a ip c
do
echo "ip: $ip"
whois "$ip" | grep netname
done < <(head -10 file.log)
如何在获取前十行并将其移交给 while 循环之前对 file.log
文件进行排序(例如使用 sort -n -r
)?
使用这个命令,
sort -nr file.log | head -10
如果你想得到排序后的前10行,只需sort
它再使用head
:
while IFS='"' read -r a ip c
do
echo "ip: $ip"
whois "$ip" | grep netname
done < <(sort file.log | head -10)
^^^^^^^^^^^^^^^
当然,应用您需要的 sort
标志。