bash vim等常用命令
生成的txt一不小心带了./,用vim替换:
:%s/\.\/single/single #%s/xxx/yyy/g是全文本替换,这里用\将特殊字符.和/转换成普通字符
生成图片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表示不限制次数
split -b 100M data.bak sdata #按字节
split -l 1000 large_file.txt stxt #按行
sshfs user_name@host_name:/xxx/yyy/zzz ./zzz #远程目录挂载到本地
fusermount -u mount_point #卸载
umount -fl ./mount_point #出现device is busy的解决办法
find ./ -size 0c #0大小文件
find ./ -size +3k -a -size -10k #找出当前目录[3KB,10KB]大小的文件
linux打开windows生成的中文文档乱码:作者讲要2次保存utf-8,亲测直接windows下记事本打开另存为,然后linux下vim打开就不是乱码了:

# 转换编码
def re_encode(path):
with open(path, 'r', encoding='GB2312', errors='ignore') as file:
lines = file.readlines()
with open(path, 'w', encoding='utf-8') as file:
file.write(''.join(lines)) re_encode('data/data22724/nCov_10k_test.csv')
re_encode('data/data22724/nCoV_100k_train.labled.csv')
-------------------------------------------
bash vim等常用命令的更多相关文章
- vim最常用命令
vi/vim常用命令汇总 vi/vim概述 vi/vim是Linux和Unix下的一款非常强大的编辑器,vim是vi的增强 版,命令更加多种和复杂,但是最常用的也就是那几个. vi有三种模式 命令行模 ...
- Linux下Vim工具常用命令
原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...
- VIM一些常用命令,方法,配置
配置文件地址 github 工具只是为了更好的工具,选择一种,坚持使用学习记忆,熬过瓶颈期就可以了. 现在我基本大的项目是IDE+vim 插件,写小代码是VIM. 常用的操作,便捷的方法 1.如何选中 ...
- Vim的常用命令笔记
[简介] Vim是vi编辑器的改进版.vi是类UNIX系统里最常用的编辑器. [模式] 在shell中直接打vim filename就会进入普通模式.按i键进入编辑模式,此时Vim底部显示INSERT ...
- Linux环境下vi/vim编辑器常用命令
使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...
- vim 编辑器常用命令
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I,o ...
- 10 分钟上手 Vim,常用命令大盘点
传闻有 180 万的程序员不知道如何退出 Vim 编辑器,真的有这么困难吗?下面给大家整理了一份 Vim 常用命令,让你 10 分钟快速上手 Vim,溜得飞起! 以下命令请在普通模式执行 1.移动光标 ...
- vim操作常用命令总结
这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...
- Bash初识与常用命令
转至:https://www.cnblogs.com/baishou/p/13850258.html Shell介绍 Shell在中文的意思是壳,寓意是操作系统的壳.Shell是指一种应用程序,这个应 ...
随机推荐
- 必读:Spark与kafka010整合
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/rlnLo2pNEfx9c/article/details/79648890 SparkStreami ...
- 蜕变成蝶~Linux设备驱动中的阻塞和非阻塞I/O
今天意外收到一个消息,真是惊呆我了,博客轩给我发了信息,说是俺的博客文章有特色可以出本书,,这简直让我受宠若惊,俺只是个大三的技术宅,写的博客也是自己所学的一些见解和在网上看到我一些博文以及帖子里综合 ...
- Spark SQL configuration
# export by: spark.sql("SET -v").show(n=200, truncate=False) key value meaning spark.sql.a ...
- 使用glusterfs 作为 kubernetes PersistentVolume PersistentVolumeClaim 持久化仓库,高可用Rabbitmq,高可用mysql,高可用redis
glusterfs 怎么集群,网上一搜铺天盖地的 可利用这个特点做单节点高可用,因为K8S 哪怕节点宕机了 master 会在随意一台节点把挂掉的复活 当然我是在自己的环境下跑,经过网络的gluste ...
- 用SUMIF对超15位的代码进行条件求和,出错了,原因是....
用SUMIF对超15位的代码进行条件求和,出错了,原因是.... 2017-10-29 23:01 一.问题 有读者朋友问: 用SUMIF进行条件求和时,如果统计的条件是超15位的代码,就会出错,比如 ...
- 恒生UFX交易接口基本介绍说明
1.恒生UFT和UFX有什么区别? UFT是一个极速交易系统,UFX是一个统一接入系统.交易系统很显然是可以进行股票交易的,UFX是所有后台交易系统的接入系统,不管后台是什么样子的交易系统都是可以通过 ...
- Go语言基础之数据类型
Go语言基础之数据类型 Go语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串外,还有数组.切片.结构体.函数.map.通道(channel)等.Go 语言的基本类型和其他语言大同小异. ...
- 把一张图片变成base64
// image_file可为urlprivate function base64EncodeImage($image_file) { $image_info = getimagesize($imag ...
- react 中的绑定事件
handleOpen = (e)=> { this.setState({ open: true }) } <Button color='primary' onClick={this.han ...
- Node.js的进程管理
众所周知Node基于V8,而在V8中JavaScript是单线程运行的,这里的单线程不是指Node启动的时候就只有一个线程,而是说运行JavaScript代码是在单线程上,Node还有其他线程,比如进 ...