|
|
楼主 |
发表于 2008-9-26 01:40:23
|
显示全部楼层
连载五
文本a.txt内容如下- 123456789
- abcdefg
- gfabced
- 1790562.4345
- 批处理 bat
复制代码 36、将文本右对齐- sed -e :a -e "s/^.\{1,79\}$/ &/;ta" a.txt
复制代码 在这里":a"是sed在每行行首设立的用来跳转的标签,再由后面的t开关来检测在
本行命令是否执行完,没有执行完则继续执行,执行完了则跳转到下一个:a标签
处(也就是跳到下一行),这就其实是一个循环了,同时要说明一下的是"&"是表
示的前面命令中保存的字符也就是每行原有的字符,前面的" "则是自动在行前补
空格,当然我们也可以改成任意字符。另要说明的虽然默认的一行有80个字符,
但在这里最多只能设为79,当然这个数字我们也可以修改。
37、将文本内容居中- sed -e a: -e "s/^.\{1,79\}$/ & /;ta" a.txt
复制代码 如果大家理解了上面36中的命令,相信这个命令就没问题了,同理将本来不是左
对文的文本进行左对齐也就没问题了。
38、显示文本含有数字的行这一用法和findstr极为相似,同理删除含数字行就是sed "/[0-9]/d" a.txt。
39、将文本中的字母换成大写- sed "y/abcdefg/ABCDEFG/" a.txt
复制代码 y开关是sed中真正的变形开关,同理可以将文本中的数字全变成大写数字。
40、将文本中数字加上,分隔符- sed -e :a -e "s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta" a.txt
复制代码 这也是一个循环。 |
|