sed -n 's/-\([0-9]\)-/-0\1-/g;s/-\([0-9]\) /-0\1 /p' test2 又没有很帅气的人给我详细解释下这个.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 23:40:41
sed -n 's/-\([0-9]\)-/-0\1-/g;s/-\([0-9]\) /-0\1 /p' test2 又没有很帅气的人给我详细解释下这个.
xRnP HIWQ?g4(Z-?BCE&HEjlb>nEە=3̜sQiT BžJw"UrlK.Q-r\m~j1L;?X,;eڵ$ ~R>+bT)zh`Z9GU 1 oqOᅰ0{?m[8 D+6X/M5#'N7ޮ:e~{^Z;gj%) UI)=YN2jb:^I߇ z0T-d"ٰhPn~b~WQ}2"wcN=

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 又没有很帅气的人给我详细解释下这个.

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

看不懂