머리와 꼬리 명령

머리와 꼬리 명령

유닉스에서 이 연습을 어떻게 할 수 있나요? 다음 명령을 작성하십시오. lshead.bash – 인수로 지정된 디렉토리에 있는 각 파일의 처음 몇 줄을 나열합니다. 이 명령은 또한 파일의 처음 n 또는 마지막 n 줄을 나열하는 옵션을 허용해야 합니다. 예제 명령: lshead.bash –head 10 Documents는 문서 디렉토리에 있는 각 파일의 처음 10줄을 나열합니다.

답변1

이 코드는 기본적인 아이디어를 제공합니다. 필요한 경우 일부 기능을 직접 추가할 수 있습니다.

편집하다

#!/bin/bash
cur_dir=`pwd`
function head_file()
{
    ls -p $cur_dir | grep -v / | while read file;do
        echo "First $1 lines of the FILE: $file"
        cat $file | head -n+$1 # Displaying the First n lines
        echo "*****************END OF THE FILE: $file**************"
    done
}

function tail_file()
{
    ls -p $cur_dir | grep -v / | while read file;do
        echo "Last $1 lines of the FILE: $file"
        cat $file | tail -n+$1 # Displaying the last n lines
        echo "**************END OF THE FILE: $file******************"
    done
}


case "$1" in
  head)
        head_file $2
        ;;
  tail)
        tail_file $2
        ;;

    *)
        echo "Invalid Option :-("
        exit 1
esac
exit 0

관련 정보