【发布时间】:2019-05-14 12:25:04
【问题描述】:
#!/bin/bash
```
download()
{
local url=$1
echo -n " "
wget -nc --progress=dot $url 2>&1 | grep --line-buffered "%" | \
sed -u -e "s,\.,,g" | awk '{printf("\b\b\b\b%4s", $2)}'
echo -ne "\b\b\b\b"
echo " DONE"
}
```
file="adaway.org.txt"
echo -n "Downloading $file:"
download "https://raw.githubusercontent.com/EnergizedProtection/block/master/assets/active/filter/$file"
这仍然很粗糙,但工作正常。我只是想制作一些变量来缩短底部,然后让我的 bash 从 cat 文件中读取。
【问题讨论】:
-
使用 awk 时不需要 grep 和/或 sed。
grep --line-buffered "%" | \ sed -u -e "s,\.,,g" | awk '{printf("\b\b\b\b%4s", $2)}' echo -ne "\b\b\b\b"可以只是awk -v b='\b\b\b\b' '/%/{gsub(/./,""); printf "%s%4s",b,$2} END{print b}'
标签: bash variables command debian