您的位置:首页 > 运维架构 > Shell

Shell 大杂烩

2015-12-12 16:48 495 查看
1. 取掉变量的后缀(%):

name=XXX_config
$(name%_config)  # 取掉_config后缀


2. 取掉变量前缀(#):

name=XXX_config
${name#*_} #取掉_及其前面的所有字符


3. awk 模式+动作

awk 'BEGIN {FS = ":" }; {print $1}'
# BEGIN 表示awk工作前;
#{FS = ":" } 表示将分隔符设为“:“


4. set 和shift的用法

set "a" "b" "c"
# 将这些变量分别设定在位置变量中,即此时
# $1=a $2=b $3=c
# 同时$#(参数个数变为3)

while [ $# -gt 0 ]; do
shift;  # shift 1 as default
#shift  自动将参数左移一位,$# 自动减一;
.....
done


5. sed 替换

语法:
【 sed [options] 'command' filename(s) 】
usage:
sed 替换:
sed 's:,: :g' a.txt
# s表示sed的替换动作;和s紧接的那个字符就是
#  分割符无论是什么符号;
#  g 表示全局替换,而不是只替换每一行的第一个匹配项


6. ()和{ } 的区别

#' ()指在子shell中执行;
{}指当前shell中执行;
这两种结构都可以进行重定向
'


7. Sed 的行尾符和行首符

^  #  行首匹配符号
$  # 行尾匹配符号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: