2011-02-17 2 views
3

방금 ​​Tabulator로 구분 된 파일의 각 세 번째 값을 고정 값으로 바꾸어야하는 작업이있었습니다. 나는 내가 바로 이것이 "올바른"방법 경우, 또는 알고 싶어 너무자리 편집 기능이있는 Perl의 자동 작성 기능

$perl -a -n -i -F'/\t/' -e '$F[2]="THE FIXED VALUE";print join "\t", @F' bla.txt 

같은 유닉스 쉘에 Perl로 할 수있는 것 같아요 (더 나은의 현재 부족한 정의) 더 나은가있는 경우 그걸 할거야?

+0

Perl 사용자는 "올바른 방법"보다는 "올바른 방법"이라고 말하고 싶지만 작은 스크립트는 괜찮아 보입니다. – mob

답변

3

필자의 one-liner는 합리적이고 읽기 쉽다고 생각합니다. 그것을 할 수있는 더 많은 방법이 있습니다. 나는 perlrun 옵션을 스택과 몇 번의 키 입력을 저장합니다 :

perl -F'\t' -i -ape'$F[2]="THE FIXED VALUE"; $_ = join "\t", @F' bla.txt 

$,-F의 인수로 채워되지 않기 때문에 반복의 조각이 아직도 거기에있는 수치.