프로그래밍 QnA

academic의 이미지

[완료] awk 질문

1.

텍스트 파일이 다음과 같을 때

item1 100
item2 200

특정 항목의 값을 추려내는 것은 다음과 같이 간단한데,

awk '$1 == "item2" {print $2}' *

텍스트 파일에 item2가 있으면 그 값을, item2가 없으면 대신 item1의 값을 추려내려면 어떻게 하는지 모르겠습니다.

가르침을 부탁합니다.

2.

간단한 awk 입문 정도를 목표로 한다면 참고할만한 책이나 자료가 있으면 말씀해주세요.

sed & awk나 Effective awk Programming 같은 책은 전문적인 것 같아 좀 부담스럽네요. awk를 자주 쓰는 것도 아니라서요.

tatchi의 이미지

unlikely 함수의 효용.

굳이 unlikely를 쓰는 이유를 잘 모르겠습니다.
예를 들어,

if(unlike(host[i] == ':'))

는 그냥

if(host[i]==':')

로 써도 무방하지 않은가요?

검색하여 보니, 파이프라인 사용시 깨지는 것을 방지하여 준다...
라고는 하는데 무슨 말인지 도통 모르겠습니다.

lmk378의 이미지

module 작성후 insmod시에 unknown symbol in module 에러가 발생합니다.

dmesg를 확인해보면

unknown symbol find_task_by_vpid

라고 나옵니다.
위 함수는 kernel의 include/linux/sched.h 에 extern 되어있는 함수로
pid를 받아와 해당 process의 task_struct를 반환합니다.
위 함수를 module 소스에서 제거하면 insmod시 정상등록됩니다.
문제는 저 함수를 꼭 써야하기 때문인데요
kernel 소스상의 함수를 module에서 사용하지 못할 수도 있나요?

mattkjeon의 이미지

[JFS: defragmentation]

안녕하세요?

Linux에서 JFS를 filesystem으로 사용중에 있습니다.

JFS에서 defragment 관련 코드가 소스에서 사라진지 오래된 것 같은데요.
필요가 없어서 사라진 것인지? 유지보수가 안되어 없어진 것인지 찾기가 힘드네요.
2002~2003년 코드에는 있었던 것 같은데, 그 이후 소스에서는 찾아볼 수가 없습니다. 관련된 내용을 알고 계신분은 답변 부탁 드리겠습니다.

익명 사용자의 이미지

MFC가 욕먹는 이유..?

MFC 가 욕을 먹는다는데 욕을 먹는 정확한 이유가 뭔가요? (마소에서도 버린 거라는데..)

gihun99의 이미지

linux에서 process의 cpu사용량을 구하는 걸 이렇게 하면 되나요?

system programming 수업의 숙제로 simpletop 프로그램을 만들고 있는데요(top 의 간이판(?))
대충 나머지는 어떻게 구현했는데 cpu 사용량 구하는게 확실하지 않습니다
구글링해보니 cpu_percent = (delta_utime + delta_stime) / (delta_start_time/sysconf(_SC_CLK_TCK)) 이렇게 나오는데요
이렇게 구현해서 프로그램을 실행해봐도 프로세스들의 cpu사용량이 대부분 0이라 이게 제대로 작동하고있는지 확인할 수가 없네요..
이 방법이 제대로 된 방법인가요?

코드는 아래 붙입니다(c언어를 사용했습니다)

typedef long long int simpletop_num_t;

//struct simpletop_proc_t 에는 /proc/[pid]/stat안의 정보들이 해당되는 각 변수에 저장되어있습니다.

ilovecpl의 이미지

'

jtylor의 이미지

/etc/inittab에서 agetty를 조건에 따라 올리는 방법.


리눅스에서 /etc/inittab 내용보면,

s0:2345:respawn:/sbin/agetty -L 38400 ttyS0 vt100
s1:2345:respawn:/sbin/agetty -L 38400 ttyS1 vt100

윗부분을 조건을 줘서 원하는 것만 실행할수 있는 방법좀 알려주세요.

조건은 파일로 저장해두었고, 그값에 따라

agetty -L 38400 ttyS0 vt100 또는 agetty -L 38400 ttyS0 vt100 를 실행하려고 합니다.

쉘로 만들어서 /sbin/agetty 부분을 변경해봤더니 agetty가 실행은되나, 시리얼 콘솔이 연결되지 않네요.

답변부탁드립니다.

tatchi의 이미지

[완료]sprintf에 관련한 질문입니다.

void function1(char** arg, char *str)
{
    char* tmp;
    int i=0;
 
    tmp = strstr(str, "hi");
 
    if(tmp != NULL)
    {
        while( tmp[i] != '\r' )
        {
            sprintf((*arg)+i, tmp[i]);
            i++;
        }
    }
}

lmk378의 이미지

kernel 2.6으로 넘어오면서 다른 프로세스의 task_struct 또는 mm_struct를 가져올 수 있는 명령어가 없나요?

2.6에는 find_task_by_pid() function이 없는것 같더군요
혹시 다른 프로세스의 task_struct나 mm_struct를 가져올 수 있는 명령어 없나요?

페이지

프로그래밍 QnA 구독하기