shell 中的小技巧
去掉最后一个字符
sed 's/.$//'
awk '{sub(/.$/,"")}1'
awk '{printf $0"\b \n"}'
[root@ ~]# echo "387691,387710,387720,387817,387922,388067,"
387691,387710,387720,387817,387922,388067,
[root@ ~]# echo "387691,387710,387720,387817,387922,388067," | sed 's/.$//'
387691,387710,387720,387817,387922,388067
[root@ ~]# echo "387691,387710,387720,387817,387922,388067," | awk '{sub(/.$/,"")}1'
387691,387710,387720,387817,387922,388067
[root@ ~]# echo "387691,387710,387720,387817,387922,388067," | awk '{printf $0"\b \n"}'
shell脚本传参小技巧
一般常见的脚本参数传递:./script.sh --argv1=a1 --argv2=a2 或者 ./script.sh -a1 a1 -a2 a2 ,或者两种混用
ParseArguments() {
while [ $# != 0 ] ;
do
case "$1" in
-argv1|-a1)
argv1=$2
shift 2
;;
--argv1=*)
argv1=${1#--argv1=}
shift
;;
-argv2|-a2)
argv2=$2
shift 2
;;
--argv2=*)
argv2=${1#--argv2=}
shift
;;
-argv3|-a3)
argv3=$2
shift 2
;;
--argv3=*)
argv3=${1#--argv3=}
shift
;;
*)
echo "$1 error"
echo $"$0: Usage: ..."
exit 1
;;
esac
done
}
ParseArguments "$@"
对True | False 进行判断的函数
is_true() {
case "$1" in
[tT] | [yY] | [yY][eE][sS] | [tT][rR][uU][eE])
return 0
;;
esac
return 1
}
is_false() {
case "$1" in
[fF] | [nN] | [nN][oO] | [fF][aA][lL][sS][eE])
return 0
;;
esac
return 1
}
当is_true函数的第一个参数(后面的参数会忽略掉)为忽略大小写的t、y、yes或true时,返回状态码0,否则返回1。
当is_false函数的第一个参数(后面的参数会忽略掉)为忽略大小写的f、n、no或false时,返回状态码0,否则返回1。
对比两个目录的文件差异
diff <(tree -Ci --noreport d1) <(tree -Ci --noreport d2)
diff -r d1 d2
vimdiff <(find d1 -printf "%P\n" | sort) <(find d2 -printf "%P\n" | sort)
#或者远程比较:
vimdiff <(ssh -p 22 -o StrictHostKeyChecking=no 127.0.0.1 "find /tmp/test/t1 -printf '%P\n' | sort" 2>/dev/null) <(find /tmp/test/t2 -printf "%P\n" | sort)
vimdiff方法可以得到如下截图效果:

shell 中的小技巧的更多相关文章
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- lua学习笔记11:lua中的小技巧
lua中的小技巧,即基础lua语言本身的特种,进行一个些简化的操作 一. 巧用or x = x or v 等价于: if not x then x = v end 假设x为nil或false,就给他赋 ...
- 杂谈---小故事小道理,面试中的小技巧(NO.2)
本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此 ...
- iOS开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- iOS中TableView小技巧
摘要: TableView是ios开发中经经常使用到的控件,这里统一记录一下开发中遇到的经常使用小技巧,不断探索更新.也希望大家能够告诉我很多其它经常使用的小技巧啦~一起进步 1.去除多余的列表线条 ...
- iOS - 开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- 【js】中的小技巧
本文主要介绍一些JS中用到的小技巧 1. 类型强制转换 1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为 ...
- 分享几个asp.net开发中的小技巧
下面这几个,是在实际开发或阅读中发现的一些问题,有些甚至是有很多年开发人员写出的代码,也是很多人经常犯的错误.各位可以看看,你有没有躺着中枪. 第一个,对整型变量进行非null判断. // a 是in ...
- EF(Linq)框架使用过程中的小技巧汇总
这篇博客总结本人在实际项目中遇到的一些关于EF或者Linq的问题,作为以后复习的笔记或者供后来人参考(遇到问题便更新). 目录 技巧1: DbFunctions.TruncateTime()的使用 技 ...
随机推荐
- 以太坊如何使用CPU挖矿?
CPU挖掘 你可以用电脑的中央处理器(CPU)挖以太币.自从GPU矿工的效率高出两个数量级,它就不再盈利了.然而你可以用CPU挖掘在Morden测试网或私有链上挖矿,以便创建你测试合约和交易所需要的以 ...
- 【LeetCode每天一题】Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head. You may not modify the value ...
- MyBatis SpringMVC映射配置注意
applicationContext.xml中要配置 <!-- MyBatis 的 sqlSessionFactory --> <bean id="sqlSessionFa ...
- [LeetCode] 872. Leaf-Similar Trees_Easy tag: DFS
Consider all the leaves of a binary tree. From left to right order, the values of those leaves form ...
- eclipse签名使用的key文件(android生成keystore)
命令行(或终端)生成keystore文件 在命令行(或终端)输入命令: keytool -genkey -alias Gallery.keystore -keyalg RSA -validit ...
- python中impyla包报'TSocket' object has no attribute 'isOpen'错误
经搜索得知,是thrift-sasl的版本太高了(0.3.0),故将thrift-sasl的版本降级到0.2.1 pip install thrift-sasl==0.2.1 经测试impyla 可以 ...
- Python记录6:函数2,函数参数
# 一. 函数参数分为两大类 # 形参:在函数定义阶段括号定义的参数(变量名),称之为形式参数 #因为函数定义阶段只是用一个符号表示表示一个参数,并没有具体的值,所以称之为形式参数,形 ...
- ASP.NET JSON(转http://www.360doc.com/content/14/0615/21/18155648_386887590.shtml)
概念介绍还是先简单说说Json的一些例子吧.注意,以下概念是我自己定义的,可以参考.net里面的TYPE的模型设计如果有争议,欢迎提出来探讨!1.最简单:{"total":0} t ...
- Vue系列之 => 组件切换
组件切换方式一 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- [转]LoadRunner 各个指标分析
转载:https://www.cnblogs.com/dvbbs2012/p/4073635.html 我们要监视CPU,内存.硬盘的资源情况.得到以下的参数提供分析的依据.%processor ti ...