2010-11-19 7 views
2

하여 열의 값을 감소하는 방법 나는 방법으로 1AWK : 하나

에 의해 어떤 아이디어를 모든 값을 감소 할

3 
4 
4 
5 
6 
7 
8 
... 

갈 열의 값의 집합이 AWK 스크립트에서이를 공식화하려면?

감사


내가 항목 대신 감소하는의를 증가하고자하는 경우?

awk '{$ 7--; print $ 1} '직장? 그냥 하나의 열이 있다면

답변

6

이 할 것 대신 '$ 7'당신이 당신의 열 번호를 삽입 할 필요가에서 '7'의

awk '{ $7--; print $0 }' 

을; 이 숫자가 10보다 큰 경우 $ (77)과 같이 씁니다. 행의 모든 ​​열이 영향을받는 경우

이을 사용 할 다음이 도움이

awk '{ for (f=1; f<=NF; f--) $f-- 
     print $0 
     }' 

희망,

클라우스

+0

죄송합니다. 문서가 다소 큽니다. 나는 다시 설명을 시도 할 것입니다 : 열 중 하나에 항목이 있습니다 3 4 5 6 7 8 9 .... 2012 년까지 열을 2 3 4 5 ....라고 말하면서이 값을 감소시키고 싶습니다. 2011 년까지 도움이 필요하십니까? – christian

+0

@christian 제안 된 솔루션 (이 대답의 첫 번째 회색 코드)은 원하는대로 정확하게 수행합니다. $ 7을 귀하의 칼럼 번호 –

+0

으로 대체하십시오! Incredible! 감사합니다 – christian

0

가 열 네, $4--에 있다면, 그리고 어떤 그렇지 않으면 당신은 할 것입니다 (예 : 인쇄).

+0

오, 고마워요! 이 스크립트는 숫자를 1 씩 줄입니까? – christian

+0

이것은 전체 스크립트는 아니지만, 네 번째 열의 숫자를 1 씩 줄이는 스크립트 부분입니다. – Cascabel