Linux环境下,随机删除一个文件的指定项数,用shell脚本实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux环境下,随机删除一个文件的指定项数,用shell脚本实现相关的知识,希望对你有一定的参考价值。

eg:a.txt
张三 1 98
赵四 2 100
王五 3 80
删除1条,可能得到:
张三 1 98
赵四 2 100


赵四 2 100
王五 3 80

张三 1 98
王五 3 80
求高手帮助 谢谢
只要得到获取随机两行的文件就行

可以这样写

#!/bin/sh
range=3
number=$RANDOM
let "number %= $range"
let "number = $number+1"
sed "$number d" $1

用法(假设你的文本是a.txt)

$ sh test.sh a.txt

运行几次的结果为

$ sh test.sh a.txt
赵四 2  100
王五 3  80
$ sh test.sh a.txt
张三 1  98
王五 3  80
$ sh test.sh a.txt
赵四 2  100
王五 3  80
$ sh test.sh a.txt
张三 1  98
赵四 2  100
$

参考技术A #!/bin/sh
#来自DZ动力(verydz.com)
NUM=$((RANDOM%3))
((NUM++))
sed "$NUMd" a.txt

安卓Linux环境下的dd命令使用总结

参考技术A dd :用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字: b=512 ; c=1 ; k=1024 ; w=2
参数注释:

4、备份与恢复MBR
·备份文件开始的512个字节大小的MBR信息到指定文件:
#dd if=/system/xbin/busybox of=/data/local/tmp/bb count=1 bs=512
· count=1 指仅拷贝一个块; bs=512 指块大小为512个字节

·恢复:
#dd if=/data/local/tmp/bb of=/data/local/tmp/bbb
·将备份的MBR信息写到磁盘开始部分

/dev/null ,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero ,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供 0 ,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串 0 。
/dev/null ——它是空设备,也称为位桶( bit bucket )。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

以上是关于Linux环境下,随机删除一个文件的指定项数,用shell脚本实现的主要内容,如果未能解决你的问题,请参考以下文章

linux下怎样产生一个指定大小的空文件

linux环境下,用shell脚本对一个文件内容拆分到指定文件里面

python实现上传文件到linux指定目录

怎样用bat删除制定的文件/文件夹?

请问linux怎样删除某一个目录下所有指定文件名的文件

递归遍历指定目录下所有指定的文件并删除