sh/bash/dash/ksh/zsh等Shell脚本
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#1
帖子
由 tusooa » 2010-08-01 22:10
rt.
ps:sed处理中文和英文字符采用相同的策略,即'a'和'甲'都算1个字符。怎么让sed这样:
代码: 全选
sed -re 's@.{4}@&\n@g' <<< '甲乙丙丁abcdefg'
甲乙
丙丁
abcd
efg
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#2
帖子
由 trigger » 2010-08-02 14:31
不好弄,utf8汉字是三个字节
LANG=C也不行,{4}把字拆散了
代码: 全选
$ LANG=C sed -re 's@.{4}@&\n@g' <<< '甲乙丙丁abcdefg'
甲�
����
�丁
abcd
efg
{6}不散,英文又不对了
代码: 全选
$ LANG=C sed -re 's@.{6}@&\n@g' <<< '甲乙丙丁abcdefg'
甲乙
丙丁
abcdef
g
等ee来
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#3
帖子
由 xiooli » 2010-08-02 14:43
先把英文散了,再散汉字。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2010-08-02 16:25
utf8汉字是三个字节
3-6哦。
除开你使用脚本处理,汉字一个算一个。如果按照字节处理,那碰死都不行的。
● 鸣学
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#5
帖子
由 trigger » 2010-08-02 16:58
eexpress 写了:utf8汉字是三个字节
3-6哦。
除开你使用脚本处理,汉字一个算一个。如果按照字节处理,那碰死都不行的。
怎么办呢?ee想个法子
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
link_01
- 帖子: 1024
- 注册时间: 2008-11-05 13:24
#6
帖子
由 link_01 » 2010-08-02 18:01
代码: 全选
echo '甲乙丙丁abcdefg'|sed -r 's/[^a-zA-Z0-9]{2}/&\n/g' |sed -r 's/[a-zA-Z0-9]{4}/&\n/g'
代码: 全选
echo '甲乙丙丁abcdefg'|sed -r 's/[^a-zA-Z0-9]{2}/&\n/g' |sed -r 's/\w{4}/&\n/g'
不懂,瞎琢磨。
笔记
-------------------------------------
http://blog.163.com/wqt_1101
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#7
帖子
由 tusooa » 2010-08-02 18:57
代码: 全选
$ sed -re 's/[a-zA-Z_\-\:\d]{4}/&\n/g' -e 's/[^a-zA-Z_\-\:\d]{2}/&\n/g' <<< '甲乙丙丁abcdefg'
甲乙
丙丁
abcd
efg
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#9
帖子
由 tusooa » 2010-08-03 23:56
ls,
代码: 全选
>> awk -v FIELDWIDTHS="2 2 4 3" '{print $1,$2,$3,$4}' OFS="\n" <<< '嘿嘿,小样,没用了吧'
�
��
���
��
%
-
allanxia86
- 帖子: 6
- 注册时间: 2010-07-28 21:55
#10
帖子
由 allanxia86 » 2010-08-05 23:58
最近刚开始学习sed,请问下各位大侠:
代码: 全选
sed -re 's@.{4}@&\n@g' <<< '甲乙丙丁abcdefg'
这个s参数的用法怎么和
代码: 全选
s/pattern/replacement/[flag]
不同啊,'@'什么意思啊?哪里有文档可以看看?
这个里面的
什么意思啊?请各位大侠不吝赐教
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#11
帖子
由 BigSnake.NET » 2010-08-06 0:17
你是想怎么样, 中文究竟当几个字符处理?
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。