我有一个 URL 列表,并且想确定什么是目录,什么不是:
https://www.example.com/folder/
https://www.example.com/folder9/
https://www.example.com/folder/file.sh
https://www.example.com/folder/text
我可以用grep -e /$
找到哪个是哪个,但我想执行一个内联命令,我可以根据该逻辑重定向输出。
我知道 awk 可能在这里有答案,但没有足够的 awk 经验来做到这一点。
就像是:
cat urls | if /$ matches write to folders.txt else write to files.txt
我可以将其全部放入一个文件中,然后读取两次,但当它达到数千行时,我觉得效率很低。
Yes, awk
是一个不错的选择:
awk '/\/$/ { print > "folders.txt"; next }
{ print > "files.txt" }' urls.txt
-
/\/$/ { print > "folders.txt"; next }
如果该行以 / 结尾,则将其写入folders.txt并跳到下一行
-
{ print > "files.txt" }
将所有其他行写入 files.txt
您可能想使用表达式/\/[[:space:]]*$/
代替/\/$/
如果您的文件中有尾随空格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)