我有一个类似的文件
blabla1/blabla2/blabla3.ex
blabla4/blabla5/blabla6.ex
blabla7/blabla8/blabla9.ex
并且使用脚本shell linux,我想将其更改为
blabla3 : blabla1/blabla2/blabla3.ex
blabla6 : blabla4/blabla5/blabla6.ex
blabla9 : blabla7/blabla8/blabla9.ex
我没有用sed命令成功。我的问题是复制每行开头的行中存在的文本。
有人有解决方案吗?感谢
答案 0 :(得分:4)
awk
喜欢这些东西:
$ awk -F[/.] '{print $(NF-1),$0}' OFS=" : " file
blabla3 : blabla1/blabla2/blabla3.ex
blabla6 : blabla4/blabla5/blabla6.ex
blabla9 : blabla7/blabla8/blabla9.ex
-F[/.]
将字段分隔符设置为/
或.
。print $(NF-1),$0
打印倒数第二个字段,然后打印整行。OFS=" : "
将输出字段分隔符设置为空格+ :
+空格。答案 1 :(得分:1)
您可以使用此sed
,
sed 's#^.*/\([^/]*\).ex#\1 : &#' yourfile
答案 2 :(得分:0)
为了好玩:
paste file file|sed 's@^\S*/@@;s/\.[^.]*\s/ : /'