我想知道可以在sed中使用哪種模式在第一行的大文件(〜2 GB)中進行更改。對sed的偏好只是因爲我認爲它必須比Python或Perl腳本更快。如何更改文件的第一行?
該文件具有以下結構:
field 1, field 2, ... field n
data
,鑑於在標識符爲每個字段具有空間的可能性,我需要由一個下劃線以這種方式來替換每一個空間:
**BEFORE**
the first name,the second name,the first surname,a nickname, ...
data
**AFTER**
the_first_name,the_second_name,the_first_surname,a_nickname, ...
data
任何指向正確模式的指針或其他腳本解決方案都會很棒。
這就需要一個`g`來使它替換線上的所有空格,而不僅僅是第一個。 – 2009-02-14 16:33:29
perl -i -pe's// _/g if 1 .. 10'???哇,我從來沒有聽說過「if 1..10」這個語法。有時候我會對Perl有些惱火。爲什麼所有這些例外?爲什麼不使用簡單的if($。<11)? – Frank 2009-02-14 17:18:24
@leon:哇,非常整潔的把戲!,謝謝。 – 2009-02-14 21:52:34