作业帮 > 综合 > 作业

sed -n 's/-\([0-9]\)-/-0\1-/g;s/-\([0-9]\) /-0\1 /p' test2 又

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/09 04:48:19
sed -n 's/-\([0-9]\)-/-0\1-/g;s/-\([0-9]\) /-0\1 /p' test2 又没有很帅气的人给我详细解释下这个.
sed -n 's/-\([0-9]\)-/-0\1-/g;s/-\([0-9]\) /-0\1 /p' test2 又
前面的-n是显示符合条件的行 后面的p就是打印
然后\( \)里面的内容(在这里是[0-9]-》0到9的任意一个数字)都是对应后面的\1
具体的执行就是
s/-\([0-9]\)-/-0\1-/g;
先把所有的-[1到9]替换成-0(1到9)
然后s/-\([0-9]\) /-0\1 /p;
因为之前所有的-[0-9]都被替换了,所以这里找不到需要替换的东西,所以就把这些行打印出来
例,输入是
abc
-1 apple
-2 orange
-3 pear
输出是
-01 apple
-02 orange
-03 pear
再问: 您能再解释下所有-的作用么?
再答: 你说的哪个-? []里面的话[0-9]就是从0到9,类似的还有[a-z]小写从a到z 如果是外面的那个的话就是普通的一个‘-’