문장에서 8보다 작은 단어나 숫자를 바꾸려면 awk 또는 sed를 사용하세요.

문장에서 8보다 작은 단어나 숫자를 바꾸려면 awk 또는 sed를 사용하세요.

다음은 예입니다. 9번째 열 값이 8보다 작으면 이를 바꿔야 하며, 그렇지 않으면 sed 또는 awk 함수를 사용하여 종료하거나 무시합니다.

) in datadbs extent size 16 next size 4 lock mode row;

아래 awk 함수를 사용하면 9열에 필요한 값만 출력되는데, 그래도 문장 구조는 유지하고 싶습니다.

echo ") in datadbs extent size 16 next size 4 lock mode row;" | 
 awk '{if ($9 < 8 ) print 8;}'

산출:

8

내가 원하는 것은 다음과 같습니다.

) in datadbs extent size 16 next size 8 lock mode row;

답변1

나도 모르게 awk매개변수를 변경하고 모든 것을 인쇄하는 것이 좋습니다.

echo ") in datadbs extent size 16 next size 4 lock mode row;" | 
  awk '{if ($9 < 8 ) $9 = 8; print;}'

답변2

sed -e 's/\S\+/&\n/9; s/ [0-7]\n/ 8/'

답변3

sed선택하다:

s=") in datadbs extent size 16 next size 4 lock mode row;"
echo $s | sed 's/size [0-7] lock/size 8 lock/'

관련 정보