用回车符替换字符组

用回车符替换字符组

我的文件中有一行', ',我想将其替换为new line, 并删除['']

我已经尝试过这个:

sed -e 's/$/\r/' file.txt

但我没有得到正确的结果:

文件.txt:

['site1|10.29.16.53|10.29.0.0|19|FRMER / New Backup Subnet #1  (site SD)', 'site2|10.19.15.3|10.19.135.0|26|FRMER / certificat|Vlan 754', 'site 3|10.9.16.24|10.9.0.0|19|FMER / certificat|BACKUP_MUT_SD  Vlan981 (PVLAN 1981)  New Backup Subnet #1  (site SD)', 'site9|10.12.15.13|10.1.5.0|26|FRER / certificat| bopreprodback  Vlan 754', 'site4|10.29.4.2|10.9.0.0|19|FRR / certificat|BACKUP_MUT_SD  Vlan981 (PVLAN 1981)  New Backup Subnet #1  (site SD)']

答案1

您的输入是在 Perl 中创建“匿名数组引用”的合法语法,因此您可以利用它:

perl -lne 'print for @{eval $_}' file

site1|10.29.16.53|10.29.0.0|19|FRMER / New Backup Subnet #1  (site SD)
site2|10.19.15.3|10.19.135.0|26|FRMER / certificat|Vlan 754
site 3|10.9.16.24|10.9.0.0|19|FMER / certificat|BACKUP_MUT_SD  Vlan981 (PVLAN 1981)  New Backup Subnet #1  (site SD)
site9|10.12.15.13|10.1.5.0|26|FRER / certificat| bopreprodback  Vlan 754
site4|10.29.4.2|10.9.0.0|19|FRR / certificat|BACKUP_MUT_SD  Vlan981 (PVLAN 1981)  New Backup Subnet #1  (site SD)

注意你传递给它的数据;因为它正在调用eval,恶意文件可能会擦除您的文件或破坏您的婚姻。

相关内容