2013-06-13 3 views
0

셸 스크립트를 사용하여 특정 열의 변수를 모두 뺄 수있는 방법이 있습니까? 사실, 이것을 수행 할 수있는 단 하나의 라이너가 있습니까? 예를 들어쉘 스크립트를 사용하여 변수로 하나 이상의 열을 뺍니다.

: 변수 "할인"의 값 (5)을 갖고,이 파일의 내용은, 원하는 출력이 "할인"계속 변화

27 Mars 
35 Cadburys 
20 Milky Bar 

이다

32 Mars 
40 Cadburys 
25 Milky Bar 

있으며 하드 코드되지 않아야합니다.

답변

2

이와 비슷한?

$ awk '{print $1 - 5, $2}' file 
27 Mars 
35 Cadburys 
20 Milky 

또는 더 나은

는 :

$ discount=5 
$ awk -v v=$discount '{print $1 - v, $2}' file 
27 Mars 
35 Cadburys 
20 Milky 
+0

흠 .. 제 값 '5'하드입니다. 그것은 커맨드 라인에서 받아 들여지고 $ 1이라고 저장 될 수 있습니다. –

+0

하지만이 값은 어디에 하드 코드되어 있습니까? 파일에? 제 2 판에서는'-v v = $ discount'로 var를'awk '에게주는 법을 보여줍니다. – fedorqui

+0

예, 두 번째 예. 감사! :) 그냥 궁금해서, 왜 awk '{print $ 1 - $ value}'파일이 그 일을하지 않습니까? –

관련 문제