2015-02-04 4 views

답변

1

당신은 다음과 같이 할 수있는,

$ wc -l file 
13 yi 
$ y=12 
$ wc -l file | awk -v var=$y '{print $1+var}' 
25 
당신은 wc -l주는 무엇을 변경할 수는 없지만이 예를 수행하는 기능을 쓸 수 있습니다
+0

내가 뭘 찾고 있었는지 정확히 잘 해냈다. 나는 awk에 조금 익숙하지만, 좋은 일이지만 – Averagedude

1

:

# with variables to match your x y example: 
mylines() 
{ 
    x=$(cat $1 | wc -l) # this cat is to avoid the filename in output 
    y=$2 
    echo $(($x + $y)) 
} 

사용 예제 : mylines somefile 19

을 myfile의 줄 수에 19를 더하고 합계를 표시합니다.

+0

좋은 일을했지만'x = $ (wc -l <$ 1)'을 가진 여분의 프로세스는 피한다. – shellter

+0

사실,'wc -l '이 무엇을 얻는지를 바꿈으로써 그것을 바꿀 수 있습니다. 'cat <(seq $ n) $ file | wc -l'과 같이. – rici