我正在使用以下方法从文本文件中提取域、子域和 ip:
grep -oE '[[:alnum:]]+[.][[:alnum:]_.-]+' "extra-domains.txt" | sed 's/www.//' | sort -u > outputfile.txt
我正在使用这个 bash 来更快地运行它: extract-domains.sh text-with-domains.txt
#!/bin/bash
FILE="$1"
while read LINE; do
grep -oE '[[:alnum:]]+[.][[:alnum:]_.-]+' "$LINE" | sed 's/www.//' | sort -u > outputfile.txt
done < ${FILE}
但是在运行 bash 时,我不断收到“没有这样的文件或目录”的多个错误。
谁能帮我一把?谢谢。
按照您的编写方式,grep 将“$LINE”作为文件名。这是它应该做的吗?
编辑:进行 while 循环并逐行读取文件是没有意义的。会慢很多。您可能应该像这样编写脚本:
#!/bin/bash
grep -oE '[[:alnum:]]+[.][[:alnum:]_.-]+' "$1" |
sed 's/www.//' |
sort -u
并称之为:
extract-domains.sh "extra-domains.txt" > outputfile.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句