我有一个文本文件,输出如下:
/usr/local/jack/var/12345/configs/10.254.254.254
1845: edit "n_10.73.6.0/24"
1847: set subnet 10.73.6.0 255.255.255.0
2161: set member "n_10.73.8.0/24" "n_10.73.1.0/24" "n_10.73.2.0/24" "n_10.73.3.0/24" "n_10.73.4.0/24" "n_10.73.5.0/24" "n_10.73.6.0/24" "n_10.73.7.0/24" "n_10.73.9.0/24"
7030: set dst 10.73.6.0 255.255.255.0
/usr/local/jack/var/12346/configs/10.254.254.255
1845: edit "n_10.73.6.0/24"
1847: set subnet 10.73.6.0 255.255.255.0
2161: set member "n_10.73.8.0/24" "n_10.73.1.0/24" "n_10.73.2.0/24" "n_10.73.3.0/24" "n_10.73.4.0/24" "n_10.73.5.0/24" "n_10.73.6.0/24" "n_10.73.7.0/24" "n_10.73.9.0/24"
7030: set dst 10.73.6.0 255.255.255.0
8 matches
2 files contained matches
931 files searched
31258200 bytes searched
0.056300 seconds
logout
我希望能够将文件路径转换为基于文件路径本身的超链接。例如:
/usr/local/jack/var/12346/configs/10.254.254.255
将变成:
<a href="http://jack.localnet/viewvc/12345/configs/10.254.254.255?view=markup">/usr/local/jack/var/12346/configs/10.254.254.255</a>
该文件中可能有1、2或数百次出现。我想这样做,每一次出现都会被一个超链接取代。
这是bash、sed、awk、python或类似软件可能实现的吗?
sed 's,^(/usr/local/jack/var/[0-9]*)(/.*)$,<a href="http://jack.localnet/viewvc/123452?view=markup">12</a>,g' file.txt
如果要直接替换文件的内容,请添加-i
(但需要确保该命令工作正常(。更安全,你可以做:
sed 's,^(/usr/local/jack/var/[0-9]*)(/.*)$,<a href="http://jack.localnet/viewvc/123452?view=markup">12</a>,g' file.txt > new_file.txt
结果:
<a href="http://jack.localnet/viewvc/12345/configs/10.254.254.254?view=markup">/usr/local/jack/var/12345/configs/10.254.254.254</a>
1845: edit "n_10.73.6.0/24"
1847: set subnet 10.73.6.0 255.255.255.0
2161: set member "n_10.73.8.0/24" "n_10.73.1.0/24" "n_10.73.2.0/24" "n_10.73.3.0/24" "n_10.73.4.0/24" "n_10.73.5.0/24" "n_10.73.6.0/24" "n_10.73.7.0/24" "n_10.73.9.0/24"
7030: set dst 10.73.6.0 255.255.255.0
<a href="http://jack.localnet/viewvc/12345/configs/10.254.254.255?view=markup">/usr/local/jack/var/12346/configs/10.254.254.255</a>
1845: edit "n_10.73.6.0/24"
1847: set subnet 10.73.6.0 255.255.255.0
2161: set member "n_10.73.8.0/24" "n_10.73.1.0/24" "n_10.73.2.0/24" "n_10.73.3.0/24" "n_10.73.4.0/24" "n_10.73.5.0/24" "n_10.73.6.0/24" "n_10.73.7.0/24" "n_10.73.9.0/24"
7030: set dst 10.73.6.0 255.255.255.0
8 matches
2 files contained matches
931 files searched
31258200 bytes searched
0.056300 seconds
logout
如果12346变成12345,这正常吗?