55问答网
所有问题
解释sed 正则表达式 echo $1 > 1.tmp sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta' 1.tmp;
求高手解答,感激不尽,分数可以追加!!3q
举报该问题
推荐答案 2013-06-26
ta 的意思是,如果 s 匹配成功,则跳到 :a 的地方。(还有一个指令是 ba,它是无条件跳到 :a)
s 指令的意思就是找数字,并把最后3个数字单分出来,替换成 \1,\2 的用意用意相当于在最后三个数字之前加上 `,'。
如果这个替换执行成功,那么 ta 跳回来,就会重新执行 s 指令。最终的效果就是把 $1 里的数字加上千位分隔符。在数次划分后,这个数字最终不满三位了,s 指令会执行失败,这时 ta 不产生作用,便跳出循环。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/QQGGcQIGL.html
其他回答
第1个回答 2013-06-19
$1 > 1.tmp 获取当前脚本第一个参数,并输出至1.tmp
.*[0-9] 与后面 \1等同
[0-9]\{3\} 与后面\2等同
:a ..... ta 是一对符号,表示如果ta之前执行成功,则跳转到:a标识符
整条命令就是一个文本重新排位
命令分段:
echo $1 > 1.tmp sed -e :a -e 's/ \(.*[0-9]\) \([0-9]\{3\}\) /\1,\2/ ;ta' 1.tmp;
本回答被提问者和网友采纳
相似回答
sed正则表达式
答:
-e 's/:\+\s\+/:/' -e 's/ /_/g'把每一行 第一次出现的 "连续 n 个 : 及 后面的m个空格" 替换成 : , 再把这一行中剩余的类似匹配内容替换成 _ , 其中 n >= 1, m>=1 比如 如果某行的内容是 sss:: ppp: MMM 则替换后变成 sss:ppp_MMM 然后 -e '/^$/d'...
sed
命令 sed -e s/\
(.*
// 什么意思
答:
匹配零或多个字符 如:/
*sed
/匹配所有模板是一个或多个空格后紧跟sed的行。”.*”会在第一个匹配后在匹配0个或多个字符。这是对.*的定义,你可以把.*看做是任意多个字符。
什么是
正则表达式
答:
正则表达式
,又称规则表达式。是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如
sed
和grep)普及开的。正则...
...
sed
请问有哪位大大知道这个sed 命令是什么意思吗? sed 's/\//...
答:
sed
实用工具以及其它任何类似的编辑器的最常用的命令之一是用一个值替换另一个值。用来实现这一目的的操作的命令部分语法是: 's/{old value}/{new value}/' 因而,下面演示了如何非常简单地将 "tiger" 修改为 "wolf"
:
$
echo
The tiger cubs will meet on Tuesday after school | sed 's/tiger/wolf/'...
Linux
正则表达式
与通配符
答:
grep、
sed
、awk天然支持正则 grep -v代表反选,反向选择匹配到的内容 grep -E代表使用扩展正则 grep -P代表使用Perl正则 sed -r 代表使用扩展正则 正则表达式分为三类(man grep可以看到,分别是basic RegExs,extended RegExs,perl RegExs) 1、基本的
正则表达式(
Basic Regular ...
大家正在搜
linux sed 正则表达式
sed正则表达式 替换
grep 正则表达式
shell 正则表达式
sed扩展正则表达式
sed正则表达式匹配空格
sed正则表达式删除中文
shell正则表达式匹配
正则表达式.*?
相关问题
echo $1|sed s/\\.\/\_/g > /tmp...
sed -e 's|.* -> ../../\(.*\)$|...
sed 's@^#\([0-9]\{10\}\)$@echo...
请高手帮忙解答一下sed中\1是啥意思
关于shell脚本语言 sed -e :a -e 's/^....
linux命令sed反斜杠\1失败
Linux写一个脚本文件printnumber。
linux命令 sed 请问有哪位大大知道这个sed 命令是...