시스템 기본 라이브러리에서 문자열을 정렬하려고 합니다.
첫 번째는 이에 사용하는 명령입니다.
«reset»은 화면을 정리하는 명령입니다. «strings는 /lib64/libc.so.6에서 정보를 수집하는 명령입니다. «grep»은 일치 항목을 검색하고 인쇄하는 명령입니다. «sort»는 데이터 순서를 재정렬하는 것입니다. » 대화형 텍스트 편집용 «uniq» 중복 항목 삭제용
함께 잘 작동합니다:
reset ; strings /lib64/libc.so.6 | grep "^[GLIBC]" -m23 | sort -r | grep -o -P '.{0,3}GLIBC_.{0,4}' | sed 's/\.$//' | uniq -u
산출:
GLIBC_2.9
GLIBC_2.8
GLIBC_2.7
GLIBC_2.6
GLIBC_2.5
GLIBC_2.4
GLIBC_2.23
GLIBC_2.22
GLIBC_2.18
GLIBC_2.17
GLIBC_2.16
GLIBC_2.15
GLIBC_2.14
GLIBC_2.13
GLIBC_2.12
GLIBC_2.11
GLIBC_2.10
내가 원하는 순서는 다음과 같습니다.
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
또는 역순으로:
GLIBC_2.23
GLIBC_2.22
GLIBC_2.18
GLIBC_2.17
GLIBC_2.16
GLIBC_2.15
GLIBC_2.14
GLIBC_2.13
GLIBC_2.12
GLIBC_2.11
GLIBC_2.10
GLIBC_2.9
GLIBC_2.8
GLIBC_2.7
GLIBC_2.6
GLIBC_2.5
GLIBC_2.4
저는 Slackware64 14.2를 사용하고 있습니다. 원하는 대로 출력을 재구성할 수 있는지 알려주실 수 있나요?
글쎄, 왜 GLIBC_2.{19,20,21}가 출력 xD에서 누락되었는지 모르겠습니다.