jump and mark

Posted jimlist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jump and mark相关的知识,希望对你有一定的参考价值。

export markfile=$HOME/.marks
#export markfile2=$HOME/.marks.1
#export FRCODE="GBK"
#export TOCODE="UTF-8"
#fi
m()

grep -w "^$(pwd)$" $markfile 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
    echo $(pwd) >> $markfile
        #iconv -f $FRCODE -t $TOCODE $markfile > $markfile2
#elif [ "x$1" == "x2" ]; then
#cd $HOME/.alink
#while read id
#do
#[ ! -L $(echo $id|sed \'s#\\/#\\^#g\') ] && ln -s $id $(echo $id|sed \'s#\\/#\\^#g\')
#done<$markfile
else
    #if [ ! -z "$1" ];then
    #    grep -v "^$(pwd)$" $markfile > $markfile.tmp ; mv -f $markfile.tmp $markfile
    #else
        echo "mark exists!"
    #fi
fi

#==================================================
j ()

    if [ -z "$1" ]; then
        if [ -f $markfile ]; then
            nl $markfile;
        else
            echo "no marks file";
        fi;
    else
        if [ -z "`echo $1 | sed -n \'/^[0-9][0-9]*$/p\'`" ]; then
            cnt=$(grep -ic "$1" $markfile);
            if [ $cnt -eq 1 ]; then
                tmpdir=$(grep -i "$1" $markfile);
                if [ -d "$tmpdir" ] 2> /dev/null; then
                    cd "$tmpdir";
                else
                    if [ "x$tmpdir" == "x" ]; then
                        echo "select dir is null";
                    else
                        echo "del it! $tmpdir";
                        grep --color=auto -v "^$tmpdir$" $markfile > $markfile.tmp;
                        /usr/bin/mv $markfile.tmp $markfile;
                    fi;
                fi;
            else
                grep --color=auto -in "$1" $markfile | nl;
                echo -e "input number:";
                read number;
                tmpdir="$(grep -i "$1" $markfile|awk -vnumber=$number \'NR==number\')";
                grep --color=auto -n "$tmpdir$" $markfile;
                if [ "x$tmpdir" == "x" ]; then
                    echo "select dir is null";
                else
                    if [ -d "$tmpdir" ] 2> /dev/null; then
                        cd "$tmpdir";
                    else
                        echo "del it! $tmpdir";
                        grep --color=auto -v "^$tmpdir$" $markfile > $markfile.tmp;
                        /usr/bin/mv $markfile.tmp $markfile;
                    fi;
                fi;
            fi;
        else
            if [ ! -z "$1" ] && [ $1 -le $( cat $markfile|wc -l|tr -d \'\\r\\n\') ]; then
                tmpdir="$( awk -vrn=$1 \'NR==rn\' $markfile)";
                if [ "x$tmpdir" == "x" ]; then
                    echo "select dir is null";
                else
                    if [ -d "$tmpdir" ] 2> /dev/null; then
                        cd "$tmpdir";
                    else
                        echo "del it! $tmpdir";
                        grep --color=auto -v "^$tmpdir$" $markfile > $markfile.tmp;
                        /usr/bin/mv $markfile.tmp $markfile;
                    fi;
                fi;
            else
                echo "no this";
            fi;
        fi;
    fi

  

以上是关于jump and mark的主要内容,如果未能解决你的问题,请参考以下文章

Fox And Jumping

CodeChef Chef and Digit Jumps 题解

Codeforces 290 BFox And Jumping

Linsheng-Dangers And Safety Of Jump Starters In Cars

[Codeforces#510D] Fox And Jumping

CF771C Bear and Tree Jumps 题解