2016-11-09 1 views
0

C 셸을 사용하여 별도의 줄에 위치하는 합계를 계산하려고합니다.C 셸에서 숫자의 합을 계산하십시오.

파이프를 사용하는 특정 명령을 사용해야합니다. 다음 형식 comand.. | comand.. | (comands...) 인쇄 라인 : 결과는 22되어야

1 
2 
8 
4 
7 

, 1 + 2 + 8 + 4 + 7 = 22 보낸 명령 수가있다

.

... | bc | tr "\n" "+" | bc을 시도했지만 작동하지 않았습니다.

AWK 또는 변수를 사용할 수 없습니다. 그래서 제가 도움을 청합니다.

답변

0

실제로 C 쉘 변수는 구문의 일부이므로 사용할 수 있습니다. 변수를 사용하지 않고, 다시 파이프 및 파이프에 필요

your-command | sed '2~1 s/^/+/' | xargs | bc 

sed 명령 앞에 추가 플러스 초부터 모든 라인에 문자; xargs은 행을 인수의 순서로 조인합니다.

'/^[^0-9]\+$/ d; 2~1 s/\([0-9]\+\)/+\1/' 
:

SED 식 숫자가 아닌 라인 걸러 향상시킬 수있다

관련 문제