随笔 - 55  文章 - 0  评论 - 0  阅读 - 1047

18_常用命令03

1.字符串包含子串

# 使用方法1
[root@vm1 zk]# [[ "aaabb" =~ "bb" ]] && echo "包含" || echo "不包含"
包含
[root@vm1 zk]#
[root@vm1 zk]# [[ "aaab" =~ "bb" ]] && echo "包含" || echo "不包含"
不包含

# 使用方法2
[root@vm1 zk]# pswd="123"
[root@vm1 zk]#
[root@vm1 zk]# [[ "$pswd" =~ [a-z] ]] && echo "有字母" || echo "没有字母"
没有字母
[root@vm1 zk]#
[root@vm1 zk]# pswd="123m"
[root@vm1 zk]#
[root@vm1 zk]# [[ "$pswd" =~ [a-z] ]] && echo "有字母" || echo "没有字母"
有字母

2.显示多少行
[root@stream9 ~]# cat demo.sh
# 111

# 2222
echo 123
echo 456

echo 789



# 这是注释


[root@stream9 ~]# cat demo.sh | wc -l
13
[root@stream9 ~]#
[root@stream9 ~]# cat -n demo.sh
     1  # 111
     2
     3  # 2222
     4  echo 123
     5  echo 456
     6
     7  echo 789
     8
     9
    10
    11  # 这是注释
    12
    13

# 行数
[root@stream9 ~]# wc -l demo.sh
13 demo.sh

# word 单词,默认空格分割
[root@stream9 ~]# wc -w demo.sh
12 demo.sh

# bytes 字节数
[root@stream9 ~]# wc -c demo.sh
62 demo.sh

# 综合
[root@stream9 ~]# wc -lcw demo.sh
13 12 62 demo.sh
3. tr => transform 转换
# 用法1
[root@stream9 ~]# echo "abc" | tr "[a-z]" "[A-Z]"
ABC


# 用法2
[root@stream9 ~]# cat demo1.sh
#!/bin/bash

echo "hello world"
[root@stream9 ~]#
[root@stream9 ~]# cat demo1.sh | tr "[a-z]" "[A-Z]"
#!/BIN/BASH

ECHO "HELLO WORLD"

# 用法3
[root@stream9 ~]# ls
demo1.sh  demo.sh
[root@stream9 ~]# tr "[a-z]" "[A-Z]" <demo1.sh
#!/BIN/BASH

ECHO "HELLO WORLD"


# 用法4
[root@stream9 ~]# cat demo2.sh
aaa
bbb
ccc
ddd
[root@stream9 ~]#
[root@stream9 ~]# cat demo2.sh | tr '\n' ' '
aaa bbb ccc ddd [root@stream9 ~]#
[root@stream9 ~]#
[root@stream9 ~]# cat demo2.sh | tr '\n' '\t'
aaa     bbb     ccc     ddd     [root@stream9 ~]#
[root@stream9 ~]#

# 用法5 处理字符串
[root@stream9 ~]# arr="aa bb cc dd"
[root@stream9 ~]# echo $arr
aa bb cc dd
[root@stream9 ~]# echo $arr | tr ' ' '\n'
aa
bb
cc
dd
[root@stream9 ~]#
[root@stream9 ~]# for i in `echo $arr | tr ' ' '\n'`
> do
> echo "是: $i"
> done
是: aa
是: bb
是: cc
是: dd

# 用法6
[root@stream9 ~]# echo "11abc789" | tr "[1-9]" "Z"
ZZabcZZZ

# 用法7
[root@stream9 ~]# echo "aa222bb" | tr -d "222"
aabb
4.关于 $ 的变量
# 1. $? => 上一条命令是否执行成功
[root@stream9 ~]# echo 123
123
[root@stream9 ~]# echo $?
0
[root@stream9 ~]#
[root@stream9 ~]# wfowehfweof
-bash: wfowehfweof: command not found
[root@stream9 ~]# echo $?
127

# 2. 其他
[root@stream9 ~]# cat demo.sh
#!/bin/bash

echo $1
echo $2
echo $@     # 列出所有参数
echo $#     # 参数的数量或者长度
echo $$     # demo.sh 脚本执行是,该脚本的进程ID
echo $0     # 打印当前脚本名称
[root@stream9 ~]#
[root@stream9 ~]# bash demo.sh aa bb cc
aa
bb
aa bb cc
3
1628
demo.sh

# 3. 给脚本添加说明文档
[root@stream9 ~]# cat demo.sh
#!/bin/bash

if [ $# -eq 0 ];then
        echo "此脚本$0: "
        echo "Usage: xx [OPTION]... [-T] SOURCE DEST"
        echo "  -h,--help  这是帮助"
        echo "  -c,--cccc  这是cccc"
        echo "  -x,--xxxx  这xxx"
        exit 1
fi

echo $1
echo $2
echo $@
echo $#
echo $$
echo $0
echo $*
[root@stream9 ~]#
[root@stream9 ~]# bash demo.sh
此脚本demo.sh:
Usage: xx [OPTION]... [-T] SOURCE DEST
  -h,--help  这是帮助
  -c,--cccc  这是cccc
  -x,--xxxx  这xxx
posted on   鸟叔书  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示