linux没有进行系统的学习,都是现学先用,记录一下平时的操作
- 查看唯一值: 类似于R中的
uniqe()
可以返回字符串的唯一值.例如我想知道样本名一共有多少个,但是由于某些原因样本名是有重复.可以利用sort -u
来进行查看,举个例子cut -f1 sample2.list |sort -u|wc -l
.当然也可以只返回唯一值或者没有重复的,例如cut -f1 sample2.list |uniq -u
,也可以只返回重复的cut -f1 sample2.list |uniq -d
- 换行符的替换用sed很麻烦,老出错,可以使用
tr
命令cat T.sample.list |tr "\n" ","
就很方便 - find后直接拷贝
find ./ -name "DSP*.gz" -exec cp {} ./all.sample/ \;
- 查找空文件夹
find -type d -empty
- 统计各个文件夹下文件的个数
ls|while read id;do ls -lR $id |grep "^-"|wc -l |while read num; do echo "$id $num"; done;done
- 查找目录下文件数不为2 的文件夹
ls|while read id;do ls -lR $id |grep "^-"|wc -l |while read num; do echo "$id -$num-"; done;done |sed '/2-/d'
- 删除60分钟之前访问过的文件
find -amin +60 -exec rm {} \;
如果是-60则是60分钟之内访问过的文件 - 是否递归
find . -name “*.txt” -maxdepth 1
类似于 tree 的 -L命令效果 - 不同linux主机之间相互复制:
scp -P 22 -r ./results/ username@192.159.13.141:20230306/results
- MD5sum目录下所有:
find ./ -type f -print0 | xargs -0 md5sum > ./md5.txt
- MobaXterm 抽风:
有时候会有这个报错,不知道为啥,重启就好了… - 查找目录下最新的文件:
find /path/to/directory -type f -exec stat --format '%Y :%y %n' {} \; | sort -nr | cut -d: -f2- | head