결과 필드 세트에서 콜론(:) 없이 /etc/passwd를 잘라냅니다.

결과 필드 세트에서 콜론(:) 없이 /etc/passwd를 잘라냅니다.

다음 형식을 사용하여 /etc/passwd에 사용자 이름, ID 및 그룹을 나열하고 싶습니다.username uid gid

나는 다음을 사용했습니다 :

cut -d: -f1,3,4 /etc/passwd

하지만 돌아왔다 username:uid:gid. :다음과 같이 OR 목록 없이 OR 목록을 제거하는 명령의 형식을 어떻게 지정할 수 있습니까 ?

root 0 0
daemon 1 1
bin 2 2
...

답변1

원하는 출력에 따라 다름

가장 쉬운 방법은 구분 기호를 원하는 것으로 변환하는 것입니다 . tr예 를 들어sedawk

cut -d: -f1,3,4 /etc/passwd | tr ':' '\t'
cut -d: -f1,3,4 /etc/passwd | sed 's/:/ --- /g'
awk -F: '{ print $1, $3, $4}' /etc/passwd

테이블로 형식을 지정하려면 다음을 사용하십시오.column

cut -d: -f1,3,4 /etc/passwd | column -t -s ':'

답변2

내 컷 버전(cut(GNU coreutils) 8.28)에는 --output-delimiter매개변수가 있습니다:

cut -d: -f 1,3,4 --output-delimiter " " /etc/passwd

결과:

root 0 0
daemon 1 1
bin 2 2
sys 3 3

관련 정보