2016-02-03 3 views
1

Я новичок в Perl. Я хочу заменить весь столбец в файле тем же самым словом. Может ли кто-нибудь помочь мне с кодом?Как заменить весь столбец на то же слово в файле в Perl

Вход:

PPD5 31-Dec-15 Basel5 No No  
PPD5 23-Dec-15 Bas_15 No No  
PPD6 16-Dec-15 Bas3_15 No No 
NPD5 16-Dec-15 Bas16 No No 
NPD6 16-Dec-15 Bas18 No No 
PARU 9-Jan-16 hjfhg15 No No 

Выход:

PPD5 31-Dec-15 test No No  
PPD5 23-Dec-15 test No No  
PPD6 16-Dec-15 test No No 
NPD5 16-Dec-15 test No No 
NPD6 16-Dec-15 test No No 
PARU 9-Jan-16 test No No 

ответ

2

Perl один лайнер:

perl -lane 'BEGIN{$"="\t"}$F[2]="test";print "@F"' input.txt 

В сценарии (указать название сценария является test.pl):

use warnings; 
use strict; 

$" = "\t"; 

while (<>) 
{ 
    my @F = split; 
    $F[2] = "test"; 
    print "@F\n"; 
} 

Выполнить как:

perl test.pl input.txt 
1

Почему бы вам не просто использовать Vim для этой цели? Это займет всего несколько шагов, чтобы сделать это:

  1. Открыть файл в Vim vi <file_name>
  2. Перейти к первому символу столбца, который нужно заменить.
  3. Пресс Ctrl+v
  4. Перейти в конец файла, нажав G или Shift+g
  5. Затем перейдите на последний символ столбца, который нужно заменить
  6. Нажмите c
  7. Введите слово, которое вы хотите, чтобы заменить весь столбец с
  8. Press Esc
  9. Сохраните изменения, введя :wq затем нажмите Enter

enter image description here

Я надеюсь, что это помогает!