将一个文件内容复制到另一个文件并排序文件,避免重复

时间:2015-03-26 18:23:40

标签: linux shell sorting unix

我想将一个文件的内容复制到另一个文件中。

#!/bin/sh

if [ $# -le 2 ]; then
        if [ $# == 1 ]; then
                file2=$(/var/lab/ld2tlog/studlog)
                echo $file2
        else
                file2=$2
        fi
        if [ ! -e $1 ]; then
                cat $file2
                echo ( cat $file2 ) > $1
        else
                echo 'cat $file2' >> $1
        fi
else
        echo "Ivesta per daug argumentu!"
fi

以下是我如何调用我的剧本

./myScript result file

我只得到这个结果:

nano result
file

那么如何将一个文件的内容复制到另一个文件中呢。

修改 我还需要避免重复的

if [ ! -e $1 ]; then
                sort -u $file2
                cat $file2 > $1
fi

但我只将结果打印到控制台,而不是打印在我的结果文件中。

1 个答案:

答案 0 :(得分:1)

您应该可以在一行中完成所有操作:

sort -u "$1" > "${2:-/var/lab/ld2tlog/studlog}"

如果您想知道输出文件的名称,也可以回显输出文件名:

outfile="${2:-/var/lab/ld2tlog/studlog}"
echo "$outfile"
sort -u "$1" > "$outfile"