Linux Shell
xd96dx
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux 三剑客之 awk
测试文件: 通俗用法: awk ‘/pattern/{print $1}’ file 示例: 匹配以 root 开头的行并输出结果 在上面的例子中, 如果需要以 : 分割, 则需要指定分隔符 两种方式: awk -F":" '/pattern/{print $1}' file awk 'BEGIN{FS=":"} /pattern/{print $1}' file 在末尾如果还需要打印其他信息, 可以使用END{}: awk 'BEGIN{xxx} {print $} END{xxx}' f原创 2020-09-14 19:31:21 · 163 阅读 · 0 评论 -
linux 三剑客之sed
用法 测试文件 s 替换 替换 s/xxx/xxx 示例: 将 gggg 替换为 test 替换某行为xxx ns/.*/xxxx 示例: 替换第二行内容为 xxxx 在某行后追加内容 ns/.*/&xxxx 示例: 在第三行内容后追加 ---- 替换数字 s/[0-9]/xxxx (sed不支持 \d) 示例: 替换数字为 --- 代指某一部分使用() s/(xxx)(xxx)/\1\2/ 示例: 在数字与内容之间插入内容 语法中的 / 可以替换为其他任意原创 2020-09-14 14:59:29 · 156 阅读 · 0 评论 -
linux三剑客之grep
grep 用法: 常规匹配: 不区分大小写 -i 精确查找 “\<xxxx>\” 以某字符结尾 “xxx$” 以某字符开头 “^xxx” 显示行号 -n 显示匹配字符的后几行 -A n 显示匹配字符的前几行 -B n 显示匹配字符的上下文 -C n 静默查找, -q 如果文件不存在, 静默查找仍会有输出, 如果需要静默可以考虑输出重定向 grep查找结果成功返回值 0, 没有查找到返回 1, 无文件返回 2 递归查找 -r/-R 反向查找 -v 和管道一起原创 2020-09-14 10:32:12 · 207 阅读 · 0 评论 -
shell while, until循环
while和until两个循环语法相同, 循环条件相反 语法: while xxx do xxx done until xxx(进入循环的条件与while相反) do xxx done 举例来看 #! /bin/bash until ping -c1 127.0.0.1>/dev/null do echo "until test" sleep 1 done echo "until test finished" while ping -c1 127.0.0.1>原创 2020-08-31 10:46:29 · 143 阅读 · 0 评论 -
shell for循环及一些小技巧
for语法 #! /bin/bash clear for i in {1..10} do echo "for time $i" done for循环分隔符 分隔符顾名思义, 循环时以什么符号作为分隔, 默认情况下是以空格或者制表符分隔 #! /bin/bash num="1 1 2 2 3 3 4 4" for i in $num do echo $i done 结果可以看到, 是以空格为分隔输出的, 如果需要以行分隔, 这个时候就需要指定分隔符了 #! /bin/bash num="原创 2020-08-26 14:00:46 · 638 阅读 · 0 评论 -
shell case语法
一般来说, case会和read一起使用, 以esac结束, 代码如下 #! /bin/bash read -p 'input num:' num case "$num" in 1) echo "num=1" ;; 2) echo "num=2" ;; *) echo "num=$num" ;; esac 执行结果:原创 2020-08-24 21:03:07 · 130 阅读 · 0 评论 -
shell 条件测试
常见方式: test [] [[]] 使用方法: test: test -r ./test.sh | echo $? 0 []: [ -r test.sh ]; echo $? 0 关于[], 左括号 [ 是一个linux命令, 而右括号]仅仅是左括号的命令参数, 如下图 可以看到, 左括号 [ 提示缺少右括号 ], 而右括号本身不是一个命令 [[]]: 语法与 [] 相同, [[]]功能更强大, 推荐使用 num=1 [[ $num =~ [0-9] ]]; echo %? 0 常用参数:原创 2020-08-15 16:45:03 · 118 阅读 · 0 评论 -
shell $符之$* $@ 区别
上篇文章有坑, 填 在字符串中(在" "中), $@可以理解为将位置参数放在一个数组里, 各是各的 $*类似于字符串连接, 将个位置参数的值拼接在一起, 是一个整体 如果是直接引用 $@ 或者 $* 两者不会出现以下区别 具体代码: ...原创 2020-08-15 14:02:38 · 249 阅读 · 0 评论 -
shell中的 $符变量
预定义变量: $0 脚本名称 $! 上一个后台进程的PID $$ 当前进程PID $? 上一个命令返回值 $# 参数个数 $* $@ 所有的参数(具体什么区别不清楚...) 位置变量 $1 $2 ... $n 示例:原创 2020-08-12 11:10:59 · 130 阅读 · 0 评论
分享