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是指一种应用程序,这个应 ...
随机推荐
- Ubuntu 16.04 ROS环境配置
最近新入职一家公司,是搞智能无人驾驶的,用的操作系统是Ubuntu和ros,之前没接触过ros系统,既然公司用那就必须的学习啊,话不多说先装它一个ros玩玩... 1. Ubuntu 安装 ROS K ...
- Java Spring MVC 错误 及 常见问题 总结
[参考]spring入门常见的问题及解决办法 错误: 从Git新获取项目 运行出现 1.org.springframework.beans.factory.BeanDefinitionStoreExc ...
- 对List遍历过程中添加和删除的思考
对List遍历过程中添加和删除的思考 平时开发过程中,不少开发者都遇到过一个问题:在遍历集合的的过程中,进行add或者remove操作的时候,会出现2类错误,包括:java.util.Concurre ...
- 通过java实现解压zip,rar的代码
package com.zuidaima.main; import java.io.File; import java.io.FileInputStream; import java.io.FileO ...
- Tomcat manager页面报403
一.前言 我这边已经配置了tomcat-users.xml: <tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns ...
- springboot2.X访问静态文件配置
config配置: @Configuration public class WebMvcConfig implements WebMvcConfigurer { /** * 跨域配置 * @retur ...
- linux搭建mysql集群
一.公共配置 请在三个虚拟机上分别配置此处的配置项. 1. 安装虚拟机 虚拟机操作系统安装CentOS 6.5的x86_64版本. 2. 拷贝mysql cluster 下载以下版本的MySQL-Cl ...
- Nestjs OpenAPI(Swagger)
官方文档 用来描述api
- react 中的绑定事件
handleOpen = (e)=> { this.setState({ open: true }) } <Button color='primary' onClick={this.han ...
- php 腾讯地图和百度地图的相互转换
关于百度和腾讯地图坐标转换的问题,网上大多给的是JS实现的,而JS又是异步实现的,无法返回值,在有些应用场景下不好使用,这里我从腾讯论坛上找到了一个PHP转换的方法,贴出来分享给大家.经测试十分有效! ...