1. 程式人生 > >自定義 lsn 命令, 列印第 n 個檔案的內容

自定義 lsn 命令, 列印第 n 個檔案的內容

lsn:

# add by cw
# aim: print nth file contents

if [ $# -eq 1 ]; then
    xnd=`echo $1'p'`
    nfilename=`ls | sed -n $xnd`
    echo 'filename:'\<$nfilename\>
    if [ -d "$nfilename" ]; then
        echo "is a directory!"
        exit
    fi
    echo '------------- contents: --------------'
    ls | sed -n $xnd | xargs cat

elif [ $# -eq 2 ]; then
    xnd=`echo $2'p'`
    nfilename=`ls $1 | sed -n $xnd`
    echo 'filename:'\<$nfilename\>
    echo '------------- contents: --------------'
    file2=`ls $1 | sed -n $xnd`
    abs_path=`echo $1\/$file2`
    if [ -d "$abs_path" ]; then
        echo "is a directory!"
        exit
    fi
    cat $abs_path
    echo ''

else
    echo "lsn parameter error"
fi