我想通過搜索字符串開頭的特定字母來替換文件中的文本。例如,下面是該文件的一個部分:替換以某些字符開頭的文件中的文本字符串
6 HT 4.092000 4.750000 -0.502000 0 5 7
7 HT 5.367000 5.548000 -0.325000 0 5 6
8 OT -5.470000 5.461000 1.463000 0 9 10
9 HT -5.167000 4.571000 1.284000 0 8 10
10 HT -4.726000 6.018000 1.235000 0 8 9
11 OT -4.865000 -5.029000 -3.915000 0 12 13
12 HT -4.758000 -4.129000 -3.608000 0 11 13
我想用「HT」作爲搜索,並能與2002年取代「space0space」當我嘗試我更換所有0與2002年和而不是隻是0的列。之後,我需要然後搜索「OT」並用2001替換0列。
所以基本上我需要搜索一個字符串來標識行並替換列特定字符串介於兩者之間的文字是可變的。輸出需要打印到new_file.xyz。另外,我會在很多文件上重複這樣做,所以將它作爲可以在文件前面輸入的腳本將很棒。謝謝。
請提供你已經嘗試做 – nir0s
對不起這沒有保留文件格式。 – Drewucla
這裏是我所做的,但我無法指定搜索部分來查找HT ..#!/ usr/bin/perl use strict; 使用警告; $^I ='.bak'; #創建備份副本 while(<>){ s/0/2002/g; #做替換 打印; #打印到修改後的文件 } – Drewucla