bash vim等常用命令

生成的txt一不小心带了./,用vim:

:%s/\.\/single/single   #%s/xxx/yyy/g是全文本替换,这里用\将特殊字符.和/转换成普通字符

结果还不错:

------------------2108.12.2-----------------------------------

生成图片list:

find  dir/  -name "*.jpg" -exec basename {} \; > lists.txt   #加上basename就不带路径了
find oriPic -name "*.jpg" -exec basename {} \; | sort -n> list1.txt #按文件名升序
find oriPic -name "*.jpg" -exec basename {} \; | sort -r> list1.txt #按文件名降序
find -name "._*" -exec rm {} \; #删除讨厌的._开头的隐藏文件

txt乱序:

cat total.txt | awk 'BEGIN{srand()}{print rand()"\t"$0}' | sort -k1,1 -n | cut -f2- > totals.txt

txt相隔固定行数删除:

cat in.txt | awk '{if ( NR % 2==0)print $0}'  > out.txt   #隔一行删除并保存到out.txt

txt寻找匹配字符并删除到行尾

:%s/.jpg.*//              #删除每行的.jpg及后面的字符
:%s/.*.jpg//              #删除每行开头到.jpg的字符

根据list拷贝:

cp `cat list.txt` list/            #list.txt里包含完整路径,desDir是要被拷贝的路径

拷贝/删除大量小文件:

find fromDir/ -name "*.xml" | xargs -I {} cp {} toDir/     

上述命令在某次安装软件的时候用到,用homebrew装的,提示brew linkapps不可用:

ln -s `find /usr/local/ -name "mpv.app"` /Applications/mpv.app

删除带某些字符的行:

sed -e '/abc/d'  a.txt  > a.log  #删除带abc的行保存到a.log

多线程压缩大量小文件:

tar czvf xxx.tar.gz xxx             #单线程压缩
tar -cf - xxx | pigz -p 12 > xxx.tar.gz   #多线程压缩,需要安装pigz,12是线程数

判断文件后缀名是否包含特定字符

if [ "${file##*.}"x = "txt"x ]       #后缀是否txt  

目录下图片批量生成list:

for file in `ls ./`
do
if [ -d $file ]
then
find $file -name "*.jpg" -exec basename {} \; > $file.txt
fi
done

一个路径下有大量图片,平均拆分:

find img/ -name "*.jpg" > list.txt    #假设跟路径名img,图片后缀.jpg
wc -l list.txt                        #查看总数,假设为5万,平均拆成5份
split -l 10000 list.txt new           #将会生成5个new开头文件:newaa newab等
mkdir new_a                           #新建一个文件夹
cat newaa | xargs -I mv {} new_a {}   #newaa里的1万行图片移动到new_a
#其他路径如法炮制,当要拆分的数量比较多时可以写个后台执行

支持断点续传的wget:

wget -c -t 0 地址  #-c断点续传 -t 0表示不限制次数

 

-------------------------------------------

xargs与exec命令执行效率问题

 

vim批量注释

 

转载于:https://www.cnblogs.com/zhengmeisong/p/9301690.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值