版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/X__Alone/article/details/82980629
在脚本中调用其他二进制文件或脚本时,对它们的输出进行颜色编码,这样就可以知道哪个输出来自哪个脚本或二进制文件。这样我们就不需要在满屏的黑白输出文本中查找想要的输出结果。
理想情况下,脚本应该输出白色(默认的,前台进程),子进程应该使用灰色(通常不需要,除非出现错误),使用绿色表示成功,红色表示失败,黄色表示警告。
#!/bin/sh
printf -- 'doing something... \n';
printf -- '\033[37m someone elses output \033[0m\n';
printf -- '\033[32m SUCCESS: yay \033[0m\n';
printf -- '\033[33m WARNING: hmm \033[0m\n';
printf -- '\033[31m ERROR: fubar \033[0m\n';
显示:
因需求需要把大批量的url链接做404处理,所以就要用脚本来执行。这时候就要用到正则来获取每条链接后面的目录路径。
sed -ri 's#(https://)?([a-zA-Z0-9]+.)+[a-zA-Z](/)?[a-zA-Z0-9](/)##g' test.txt
执行例子: https://xxx.ccc.com/www/ert/uor/index.html ---> ert/uor/index.html
-r:可以不加脱义字符
-i:可以对文件内容真正的修改
(https://)? :表示匹配0或1个https://
[a-zA-Z0-9]+. :表示1或多个[ ]里的内容,也就是一个xxx.
([a-zA-Z0-9]+.)+ :在上面的基础上多了 ()+,就是多个xxx. ,也就是我们所谓的二级域名的前两部分,也就是上述的xxx.ccc.
[a-zA-Z](/)? : 表示的是上述的 com/