2013-06-05 6 views
1

awk/sed 또는 다른 스크립팅 명령을 사용하여 어떻게이를 수행 할 수 있습니까?sed/awk/

1) 07

감사합니다

발견되면 각 행의 25 및 26 열에서 08과 07을 대체 쉘 스크립트를 사용하여 각 라인 2)에 26 자리 숫자를 포함하는 많은 행을 가진 파일을 읽습니다.

+0

, 여백? – ryanbwork

답변

2

awk 'BEGIN{FS=""; OFS=""}{if ($25$26 == "07") {$25="0"; $26="8"}{print}}' 
+0

FS = ""을 지정할 수 있는지 알지 못했습니다. 감사. – irappa

1

파일의 각 행에 26 자리가있는 것이 확실한 경우 (길이 26), 당신은 할 수 :

sed 's/07$/08/' file 
+0

감사합니다. 그것을하는 일반적인 방법이 있습니까? 스크립트에 매개 변수로 대치 할 열 및 숫자를 지정한다고 가정 해보십시오. – irappa

+0

@irappa 예'sed -r 's/(. {24}) 07 (. *)/\ 108 \ 2 /''요구 사항이 그렇게된다면 sed로 할 것입니다. – Kent

1

당신 (GNU이 나오지도)에 대한이 작동 할 수 awk로 다음 :

열은 지정된 행으로 분리되는 방법
sed -r 's/^(.{24})07/\108/' file