Yige

Yige

Build

shell脚本基础

shell 脚本基础#

shell 脚本调试#

-n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
-v,一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
-x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来

shell 脚本对文本中无序的一列数字排序#

[root@server ~]# sort -n 190307.txt | awk '{a+=$0;print$0} END {print "sum="a}'

shell 命令查看文件空行行号#

[root@server ~]# grep -n ^$ filename
[root@server ~]# sed -n '/[a-zA-Z0-9@#$%^&*]!=' filename
[root@server ~]# sed -n '/^$/=' filename
[root@server ~]# awk '/^$/{print NR}' filename

shell 文件夹操作#

  1. 删除一个文件夹下所有文件但是不删除文件夹
[root@server-ai ~]# find . -type f | xargs rm -f
  1. 只复制目录的结构,而不复制目录的内容
[root@server-ai ~]# find ~ -type d -exec mkdir -p demo/\{\} \;
  1. 查找当前文件夹下所有的文本文件内容中包含有字符”math” 的文件名称
[root@server-ai ~]# grep -r "math" /home/chenjiawei/test/shell/ | cut -d ":" -f 1
  1. 遍历目录及其子目录中的所有文件

    #! /bin/bash
    function read_dir(){
        for file in `ls $1`       #注意此处这是两个反引号,表示运行系统命令
        do
            if [ -d $1"/"$file ]  #注意此处之间一定要加上空格,否则会报错
            then
                read_dir $1"/"$file
            else
                echo $1"/"$file   #在此处处理文件即可
            fi
        done
    }
    #读取第一个参数
    read_dir $1
    

    执行命令

    $ sh traveDir.sh DIR_NAME
    
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。