awk 특정필드만 제외하고 출력되나여?

cdral의 이미지

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 21G 3.4G 17G 17% /
/dev/sda2 265G 288M 251G 1% /home
tmpfs 1013M 0 1013M 0% /dev/shm

# df -h | awk '{print $2,$3,$4,$5,$6}'
이값을 받고싶기는 한데 print $2,$3,$4,$5,$6 쭉 나열하는것보다

# df -h | awk ?? '{print $1}'
$1필드를 제외한 나머지 필드만 출력되게 하고싶습니다.

cacti의 이미지

echo "1 2 3 4 5" | awk '{ for(i=2; i<=NF; i++) print $i }'
for루프를 써봤습니다.
더 간단하게 하는 방법은 다음 분이 ^^;
-----
언제나 삽질중 ㅡㅡ^

-----
언제나 삽질중 ㅡㅡ^

승원의 이미지

df -h | awk '{ $1 = ""; print }'

이렇게 하면 맨앞에 공백이 생기는 문제가 있네요.

더 좋은 방법은 다음 분이...

Undisputed의 이미지

승원님께서 넣어주신 "" 사이에 \b 를 넣으면 빈칸이 살포시 사라집니다.

df -h | awk '{$1="\b";print}'

요렇게 해보세요..

승원의 이미지

적어주신 대로 해봤는데 똑같은 것 같습니다.

bushi의 이미지

df -h | awk '{ print substr($0,index($0,$2)) }'

더 간단하게 하는 방법은 다음 분이...

OTL

익명 사용자의 이미지

substr 과 index를 쓰면 심플하게 완성되는군요!!!

pastime의 이미지

df -h | cut -b28-

더 좋은 방법은 다음 분이...

(쓰고나니 awk 질문이었네요.. 죄송.. ;;)

cdral의 이미지

방법이 참많군요!! 다들 답변 감사합니다.

익명 사용자의 이미지

df -h | cut  -d" " -f2- | sed 's/^ *//g'