我在脚本中遇到了这个 sed 命令,用于将计算机的本地二进制文件与 GTFObins 二进制文件进行比较。
for i in $(curl -s https://gtfobins.github.io/ | html2text | cut -d" " -f1 | sed '/^[[:space:]]*$/d');
do
if grep -q "$i" installed_pkgs.list;
then
echo "Check GTFO for: $i";
fi;
done
我测试过它,发现它删除了行与行之间的空格,但我不明白它的形式或它是如何写的。
答案1
匹配行首 ( ) 和行^
尾 ( ) 之间仅包含空格字符的任何行。$
https://regex101.com/是你的朋友。
/…/d
指示sed
删除任何匹配项,因此这只是从输入中消除空行(例如:没有内容,或行上只有空格、制表符和类似内容)。