我有一个名为 access.log 的文件,它始终从服务器接收数据。所以我需要将 access.log 文件的数据复制到几个文件中,而不影响任何文件中的数据。 例如:如果我执行脚本,需要将数据复制到另一个文件中(文件名应该是access_1.log)并且access.log文件应该被截断。如果我第二次执行相同的脚本,数据应复制到 access_2.log 文件,并且 access.log 文件应被截断。因此,如果运行该文件 10 次,则需要创建 10 个文件。 我已经尝试过下面的脚本,但计数值在我的代码中没有增加。因此总是获得与 access_1.log 相同的文件名,并且我们也在更改数据。
count=1
cp access.log access_$count.log
>access.log
count=`expr $count + 1`
请帮助我
最佳答案
试试这个,让我知道它是否有效。
name='access'
if [[ -e $name.log ]] ; then
i=1
while [[ -e $name_$i.log ]] ; do
let i++
done
name=$name_$i
fi
cp -r /path/to/access.log "$name".log
cat /dev/null > /path/to/access.log
关于linux - 满足以下要求的 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44676104/