ls, echo, ps 등 여러 명령이 포함된 파일이 있습니다. 터미널 명령을 사용하여 어떤 명령이 가장 많이(파일에서 가장 자주 나타나는지) 찾은 다음 그에 대해 man을 실행하고 싶습니다. 예를 들어 내 파일에는 ls ls ps가 포함되어 있습니다. man ls를 실행해야 합니다. 파일 형식은 여러 줄이며 각 줄에는 하나의 명령만 있습니다.
파일 예:
ls
ls
ps
echo
man
cp
rm
답변1
파일을 정렬하고, 각 단어가 순서대로 나타나는 횟수를 세고, 이번에는 숫자로(내림차순으로) 다시 정렬하고, 첫 번째 단어를 가져와 숫자를 제거합니다(원본 목록에 공백 없이 단일 단어만 포함되어 있다고 가정).
sort file | uniq -c | sort -nr | head -n 1 | awk '{ print $2 }'
특정 파일에 대해 ls
.
다음 명령을 호출하십시오 man
.
man "$( sort file | uniq -c | sort -nr | head -n 1 | awk '{ print $2 }' )"
그렇지 않으면
man "$( awk '++c[$1] && c[$1] > m { mc=$1; m=c[$1] } END { print mc }' file )"
관련된: