六一的部落格


关关难过关关过,前路漫漫亦灿灿。




便签

-
花括号 使用花括号偷懒
head macOS使用ghead

花括号的使用

可以使用花括号定义集合集合,集合内有多个可以枚举的项,使用逗号分隔

{项1, 项2, 项3...}

遇到花括号时,会对集合进行展开,将集合内的每一项与外面的字符串进行组合,然后返回全部组合项

xxx.conf{,.bak} 展开为 xxx.conf xxx.conf.bak

和前方的命令配合起来,就可以起到多个入参的效果

1cp xxx.conf{,.bak}
2# cp xxx.conf xxx.conf.bak

接受多个参数的命令都可以这样使用,但前提是这些参数有共同部分,或者有某些规律

echo cp mkdir mv for

1mkdir app{,.bak}
2echo {1..5}
3echo {a..z}
4echo {001..10} # 前导0
5echo {001..10..2} # 前导0 + 步进
6echo {a..z}{0..9} # 组合:26 * 10 

tr命令

runoob


去除引号

1tr -d '"'

使用sed

1sed 's/\"//g'

sed命令

macOS

runoob


安装gsed

1brew install gsed

匹配行打印

p

1gsed -n "/abc/p" file

修改源文件

-i

1gsed -i "/abc/d" file # 匹配行删除      

匹配行删除

d

1gsed "/abc/d" file

匹配行文本替换

s

  • 首个匹配项
    1gsed "s/abc/edf/" file
  • 所有匹配项

    g
    1gsed "s/abc/edf/g" file

awk命令


指定分隔符,打印第3个参数

1awk -F ',' '{print $3}'

file命令


查看文件编码

1file FILE

echo命令


输出单行

1var="hello world!"
2echo $var

输出多行

1echo -e "\nhello world!\n"

head命令

macOS


安装coreutils

1brew install coreutils

输出文件去掉末尾4行的文本

1ghead -n -4 xx.txt

Shell脚本



便签

-
花括号 使用花括号偷懒
head macOS使用ghead

花括号的使用

可以使用花括号定义集合集合,集合内有多个可以枚举的项,使用逗号分隔

{项1, 项2, 项3...}

遇到花括号时,会对集合进行展开,将集合内的每一项与外面的字符串进行组合,然后返回全部组合项

xxx.conf{,.bak} 展开为 xxx.conf xxx.conf.bak

和前方的命令配合起来,就可以起到多个入参的效果

1cp xxx.conf{,.bak}
2# cp xxx.conf xxx.conf.bak

接受多个参数的命令都可以这样使用,但前提是这些参数有共同部分,或者有某些规律

echo cp mkdir mv for

1mkdir app{,.bak}
2echo {1..5}
3echo {a..z}
4echo {001..10} # 前导0
5echo {001..10..2} # 前导0 + 步进
6echo {a..z}{0..9} # 组合:26 * 10 

tr命令

runoob


去除引号

1tr -d '"'

使用sed

1sed 's/\"//g'

sed命令

macOS

runoob


安装gsed

1brew install gsed

匹配行打印

p

1gsed -n "/abc/p" file

修改源文件

-i

1gsed -i "/abc/d" file # 匹配行删除      

匹配行删除

d

1gsed "/abc/d" file

匹配行文本替换

s

  • 首个匹配项
    1gsed "s/abc/edf/" file
  • 所有匹配项

    g
    1gsed "s/abc/edf/g" file

awk命令


指定分隔符,打印第3个参数

1awk -F ',' '{print $3}'

file命令


查看文件编码

1file FILE

echo命令


输出单行

1var="hello world!"
2echo $var

输出多行

1echo -e "\nhello world!\n"

head命令

macOS


安装coreutils

1brew install coreutils

输出文件去掉末尾4行的文本

1ghead -n -4 xx.txt