unix 명령은 각 줄에서 "/"가 세 번째 나타날 때까지 인쇄합니다.

unix 명령은 각 줄에서 "/"가 세 번째 나타날 때까지 인쇄합니다.

다음과 같은 데이터가 포함된 파일이 있습니다.

/tutordashboard/manageTutorLogInStatus/?ua=TQ-AUTOCLOSE-REENTER&filterId=089089087087080&dt=1325757272
/tutordashboard/manageTutorLogInStatus/?ua=TQ-AUTOCLOSE-REENTER&filterId=089089087087080&dt=1873982869
/tutordashboard/manageTutorLogInStatus/?ua=TQ-BUTTON-DISABLED&sessionType=1&sessionId=4938718&filterId=97462&dt=1354822214604
/tutordashboard/manageTutorLogInStatus/?ua=TQ-BUTTON-DISABLED&sessionType=1&sessionId=4951063&filterId=95997&dt=1354807593071
/tutordashboard/manageTutorLogInStatus/?ua=TQ-BUTTON-DISABLED&sessionType=2&sessionId=4957338&filterId=99353&dt=1354752909284

각 줄에서 세 번째로 나타나는 "/"로 인쇄되는 출력을 얻으려면 어떻게 해야 합니까?

답변1

매우 간단합니다. "/"로 구분된 필드 1-4를 잘라냅니다.

cut -d'/' -f1-4

예:

$ echo /foo/bar/baz/extra | cut -d'/' -f1-4
/foo/bar/baz

답변2

awk -F/ 'BEGIN{OFS="/";}{print $1,$2,$3}' your_file

답변3

sed 's_\(/.*/.*\)/.*_\1_' your-file.txt

예는 다음과 같습니다.

>sed 's_\(/.*/.*\)/.*_\1_' your-file.txt
/tutordashboard/manageTutorLogInStatus
/tutordashboard/manageTutorLogInStatus

답변4

그리고 perl:

$ perl -F'/' -anle 'BEGIN{$,="/"} print @{[@F[0..2]]}' file
/tutordashboard/manageTutorLogInStatus
/tutordashboard/manageTutorLogInStatus
/tutordashboard/manageTutorLogInStatus
/tutordashboard/manageTutorLogInStatus
/tutordashboard/manageTutorLogInStatus

관련 정보