#!/bin/bash sep() { printf -v str "%${1}s" "" echo "${str// /$2}" } sep 50 + echo "版权没有,违者不揪" sep 50 - |
正好在论坛上看到这个脚本,并且都说没版权了,就顺带拿来用了。
脚本不难,有几个地方解释一下:
(学 shell 编程的时候看到 printf 和 仿 C 语言的 for 循环语句,激动得热泪盈眶啊…………)
这里的printf参数"-v"可以将输出的东西存到 -v 后的变量里面。这里就是50个空啦。这里并不是空格,用sed替换可以看出来。
下面是"${str// /$2}" 这里的 ${str//rex/replace}模式是把所有匹配rex的地方用replace来代替。
而${str/rex/replace}只替换第一个。
所以这里就是把所有的"空"替换成参数二,就成了:
++++++++++++++++++++++++++++++++++++++++++++++++++
版权没有,违者不揪
--------------------------------------------------
如果我们有stringz='!@#df$%^jf&*(' 想把里面的字符取出来。
我们可以 echo ${stringz//[^a-z]/} 哈哈,很简单……
这里想说的是,在 python challenge网站上第3关查找字符就可以用这里的字符串替换,一个命令搞定…………
阅读(602) | 评论(0) | 转发(0) |