生成的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')

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

xargs与exec命令执行效率问题

vim批量注释

bash vim等常用命令的更多相关文章

  1. vim最常用命令

    vi/vim常用命令汇总 vi/vim概述 vi/vim是Linux和Unix下的一款非常强大的编辑器,vim是vi的增强 版,命令更加多种和复杂,但是最常用的也就是那几个. vi有三种模式 命令行模 ...

  2. Linux下Vim工具常用命令

    原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...

  3. VIM一些常用命令,方法,配置

    配置文件地址 github 工具只是为了更好的工具,选择一种,坚持使用学习记忆,熬过瓶颈期就可以了. 现在我基本大的项目是IDE+vim 插件,写小代码是VIM. 常用的操作,便捷的方法 1.如何选中 ...

  4. Vim的常用命令笔记

    [简介] Vim是vi编辑器的改进版.vi是类UNIX系统里最常用的编辑器. [模式] 在shell中直接打vim filename就会进入普通模式.按i键进入编辑模式,此时Vim底部显示INSERT ...

  5. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  6. vim 编辑器常用命令

    vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I,o ...

  7. 10 分钟上手 Vim,常用命令大盘点

    传闻有 180 万的程序员不知道如何退出 Vim 编辑器,真的有这么困难吗?下面给大家整理了一份 Vim 常用命令,让你 10 分钟快速上手 Vim,溜得飞起! 以下命令请在普通模式执行 1.移动光标 ...

  8. vim操作常用命令总结

    这里记录下linux在vim编辑器中的常用命令 vi 的三种模式: 一般模式:以vi打开一个文件时,就是一般模式:可以移动光标,删除字符或删除整行,可以复制.粘贴等操作 编辑模式:在一般模式按下 i ...

  9. Bash初识与常用命令

    转至:https://www.cnblogs.com/baishou/p/13850258.html Shell介绍 Shell在中文的意思是壳,寓意是操作系统的壳.Shell是指一种应用程序,这个应 ...

随机推荐

  1. Redis 数据结构的实现

    Redis 数据结构的实现 先看个对照关系: Redis数据结构 实现一 实现二 string 整数(如果value能够表示为整数) 字符串 hash 压缩列表(只包含少量键值对, 并且每个键值对的键 ...

  2. Internet Explorer 已限制此网页运行脚本或ActiveX控件。 允许阻止的内容(A)

    打开“Internet选项”->"高级",勾选"允许活动内容在“我的电脑”的文件中运行".重启IE

  3. makefile编译错误情况整理

    错误情况1:makefile:5: *** 遗漏分隔符 . 停止 原因:具体的编译动作,开头不可以有空格,留白是由 按tab键形成的. 解决方法:去掉空格,改为tab键后,再执行make命令,成功. ...

  4. POI导出复杂的excel;excel公共样式类;excel拼接定制类;数据科学计数法转为普通值

    一.excel公共样式类(包含数据科学计数法转为普通值) package com.thinkgem.jeesite.common.utils.excel; import org.apache.poi. ...

  5. Oracle导出数据EXP00106错误

    在导出dmp文件的时候(命令:exp 用户名/密码@IP/实例名  file=D:\20180910.dmp log=D:\20180910.log),遇到以下错误: 错误原因: 导出使用的是Orac ...

  6. 三维计算机视觉 — 中层次视觉 — Point Pair Feature

    机器人视觉中有一项重要人物就是从场景中提取物体的位置,姿态.图像处理算法借助Deep Learning 的东风已经在图像的物体标记领域耍的飞起了.而从三维场景中提取物体还有待研究.目前已有的思路是先提 ...

  7. Elasticsearch 学习之子聚集过滤

    . 获取子聚合结果总数 { , "aggs": { "msisdnAgg": { "terms": { "field": ...

  8. postgresql修改数据库编码

    update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'your_database'; 先用 \e ...

  9. geohash编码算法在LBS中的应用

    随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆.银行.妹纸等等). 基础数据中,一般保存了目标位置的经纬度:利用用户提供的经纬度,进行对比,从而获得是否在附近. 目标: 查找附近的某某 ...

  10. react 简单的用函数调出ui显示

    import test from '../components/test' const info = () => { test.info('This is a normal message'); ...