Chinaunix

标题: 求 shell 字符 递增 的技巧. [打印本页]

作者: professionalzt    时间: 2013-02-12 23:50
标题: 求 shell 字符 递增 的技巧.

在python 里 :
zt = "-"  * 6
print(zt)               # 输出的内容是:   ------


在 shell 里, 就我所知的方式是:
for i in `seq 6`
do
    zt+="-"
done

echo $zt              # 输出的内容是:   ------




请问在 shell 里面有像python这样如此简洁的方式吗?
作者: hbmhalley    时间: 2013-02-14 01:48
回复 1# professionalzt
  1. seq -s- 123 | tr -d 0-9
复制代码

作者: professionalzt    时间: 2013-02-14 20:33
兄弟,太谢谢了

这种做法真是让我大开眼界啊
作者: Shell_HAT    时间: 2013-02-15 09:49
本帖最后由 Shell_HAT 于 2013-02-15 09:50 编辑
  1. echo "" | sed ':a; s/^/-/; /-\{50\}/b; ta'
  2. sed ':a;s/^.\{0,49\}$/&-/;ta' <<<""
  3. awk 'BEGIN{OFS="-";NF=50;print}'
  4. printf "%0050d\n" 0 | tr "0" "-"
  5. seq -s'-' 50 | tr -d '[0-9]'
  6. yes "-" | sed '50q' | tr -d '\n'
  7. yes "-" | head -n 50 | tr -d "\n"
  8. str=$(printf "%*s" "50"); echo ${str// /-}
  9. eval printf '%.0s-' {1..50}
复制代码

作者: professionalzt    时间: 2013-02-15 11:46
太谢谢你们了,
你们太棒了
作者: kernel69    时间: 2013-02-15 19:01
这个perl拿手
  1. perl -e 'print "-"x6'
复制代码
回复 1# professionalzt


   
作者: cxm240    时间: 2013-02-16 17:45
Shell_HAT 发表于 2013-02-15 09:49



牛逼
作者: tank064    时间: 2013-02-17 14:27
Shell_HAT 发表于 2013-02-15 09:49


版主真是强大啊 ~~
作者: cjaizss    时间: 2013-02-17 14:39
seq 6|sed -nr 's/.*/-/;H;$g;$s/\n//gp'




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2