[완료] 각 행마다 숫자로 이루어진 파일이 있는데, 각 행들의 합을 얻고 싶습니다.

자일자일의 이미지

안녕하세요.

이용하는 서버중에... 쉘을 실행하면 각 서버의 프로세스의 갯수를 세서 출력을 해주는것이 있습니다.

예로..
#1.sh 하고 나면

82
95
19
28
49

#

이런식이에요. 이렇게 각각의 수는 쉽게 얻을 수 있는데.. 이들의 합을 얻고자 하는데 어찌하면 좋을지.. 도움 부탁드려요.

일단 #1.sh > list.txt 이렇게 파일로 만들고 나서 리스팅된 숫자들의 합을 얻으면 될듯한데 쉘 프로그래밍을 안해봐서요.

도움 부탁드립니다..~

오호라의 이미지

#/bin/bash
 
sum=0
 
for x in `cat list.txt` ;
do
    let "sum = sum + x"
done
 
echo "$sum"

Hello World.

자일자일의 이미지

완벽하네요..^^

shsch의 이미지

awk '{sum += $1} END {print sum}' list.txt

자일자일의 이미지

열심히 배워야겠지요

감사합니다.

오호라의 이미지

Makefile

CC = gcc -m32
 
FLEX = flex
 
BISON = bison
 
CFLAGS = -g -W -Wall
 
DEBUG = -DYYERROR_VERBOSE
 
INCLUDE = -I./
 
EXE = count.exe
 
all: flex bison $(EXE)
 
flex :
    $(FLEX) -Pyy test.l
 
bison :
    $(BISON) -d -v -g test.y -o y.tab.c
 
$(EXE) :
    -@$(CC) -o $(EXE) lex.yy.c y.tab.c $(CFLAGS) $(INCLUDE) $(DEBUG)
 
clean:
    -@rm -rf $(EXE) lex.yy.c y.tab.c y.tab.h y.output y.vcg core.*

test.l

%{
 
#include <string.h>
 
#include "y.tab.h"
 
%}
 
INTEGER     [0-9]+
NEWLINE     [ \n\t]+
 
%%
 
{NEWLINE}   {
                /* empty */
            }
 
{INTEGER}   {
                yylval.integer = atoi( yytext );
                return INTEGER;
            }
 
.           {
                /* error */
            }
 
%%
 
 
int yywrap( void )
{
    return 1;
}

test.y

%{
 
#include <stdio.h>
 
extern FILE* yyin;
 
static int total = 0;
 
%}
 
%union
{
    int integer;
}
 
%token <integer>INTEGER
 
%start expr
 
%%
 
expr        : /* empty */
            |   INTEGER expr
                {
                    total += $1;
                }
            ;
 
%%
 
int main ( int argc, char* argv[] )
{
    yyin = stdin;
 
    yyparse();
 
    printf ( "total : %d\n", total );
 
    return 0;
}
 
int yyerror( const char* s )
{
    perror( s );
 
    return (0);
}

Hello World.

keizie의 이미지

1.sh | xargs echo | tr ' ' '+' | bc
결과물을, 한 줄로 만든 다음, 더하기 기호를 넣고, bc에 넘겨서 값을 얻습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.