精华内容
下载资源
问答
  • 一、需求在这里,我简化一下,...二,步聚1、文件ha1abc2、文件ha2acd3、找出两个文件都包含有的字符串PPID3.1过滤脚本#!/bin/sh#set-xSRC_FILE=$1TARGET_FILE=$2RESULT_FILE=$3>$RESULT_FILEwhilereadLINEdog...

    一、需求

    在这里,我简化一下,因为下午操作这两个文本都是10几万行,但只过滤出这两个文件中含有相同的或不同字符串PPID。

    二,步聚

    1、文件ha1a

    b

    c

    2、文件ha2a

    c

    d

    3、找出两个文件都包含有的字符串PPID

    3.1过滤脚本#!/bin/sh

    #set -x

    SRC_FILE=$1

    TARGET_FILE=$2

    RESULT_FILE=$3

    >$RESULT_FILE

    while read LINE

    do

    grep $LINE $TARGET_FILE > /dev/null

    if [ $? -eq 0 ]; then

    echo $LINE >> $RESULT_FILE

    fi

    done 

    #set +x

    3.2 执行结果[root@qingyun]#./filter.sh ha1 ha2 ha3

    [root@qingyun]#cat ha3

    a

    c

    4、找出其中一个文件不包字符串PPID

    4.1 修改$? 不等于0即可#!/bin/sh

    #set -x

    SRC_FILE=$1

    TARGET_FILE=$2

    RESULT_FILE=$3

    >$RESULT_FILE

    while read LINE

    do

    grep $LINE $TARGET_FILE > /dev/null

    if [ $? -ne 0 ]; then

    echo $LINE >> $RESULT_FILE

    fi

    done 

    #set +x

    4.2 执行结果[root@qingyun]#./filter.sh ha1 ha2 ha3

    [root@qingyun]#cat ha3

    b

    展开全文
  • 简介:本脚本主要用来学习判断某个文件是否有某个字符串以及统计含有某个字符串的个数,然后做if else大于小于等于逻辑判断去执行对应的操作。 一、测试脚本search_string.sh: #!/bin/bash echo 搜索compile_...


    简介:本脚本主要用来学习判断某个文件是否有某个字符串以及统计含有某个字符串的个数,然后做if else大于小于等于逻辑判断去执行对应的操作


    一、测试脚本search_string.sh:

    #!/bin/bash
    
    
    echo 搜索compile_error_hint.c 文件里面是否包含“messycode”字符串,如果有打印"yes messycode",反之打印“no messycode”
    grep -w "messycode" compile_error_hint.c && echo "yes messycode"||echo "no messycode"
    
    echo -e "\n"
    
    echo 搜索compile_error_hint.c 文件里面是否包含“tanghanyue”字符串,如果有打印"yes tanghanyue",反之打印“no tanghanyue”
    grep -w "tanghanyue" compile_error_hint.c && echo "yes tanghanyue"||echo "no tanghanyue"
    echo -e "\n"
    
    echo 显示compile_error_hint.c 文件里面包含“messycode”字符串的个数
    awk -v RS='\0' -F'tanghanyue' '{print NF-1}' compile_error_hint.c
    echo -e "\n"
    
    echo 显示compile_error_hint.c 文件里面包含“messycode”字符串的个数
    grep -rn "tanghanyue" compile_error_hint.c | wc -l
    echo -e "\n"
    
    echo 搜索compile_error_hint.c 文件里面是否包含“tanghanyue”字符串,并把结果保存到number.txt文件里面
    grep -rn "tanghanyue" compile_error_hint.c | wc -l >number.txt
    echo -e "\n"
    
    echo 搜索compile_error_hint.c 文件里面是否包含“messycode”字符串,如果有打印"yes messycode",反之打印“no messycode”
    if grep -q "tanghanyue" compile_error_hint.c
    then 
    echo "yes tanghanyue"
    else
    echo "no tanghanyue"
    fi
    echo -e "\n"
    
    echo 搜索compile_error_hint.c 文件里面是否包含“weifanghai”字符串,如果有打印"yes weifanghai",反之打印“no weifanghai”
    grep -q "weifanghai" compile_error_hint.c
    if [ $? -eq 0 ];then
        echo "yes weifanghai"
    	else  
    	echo "no weifanghai"
    fi
    echo -e "\n"
    
    echo 搜索compile_error_hint.c里面包含"tanghanyue"字符串的个数,并打印出来。
    number=$(grep -rn "tanghanyue" compile_error_hint.c | wc -l)
    echo $number
    echo -e "\n"
    
    a=10  
    if [ $a -eq 10 ]  
    then  
        echo "a = 10"  
    fi  
    echo -e "\n"
    
    echo "如果compile_error_hint.c里面包含tanghanyue字符串的个数大于2两个,打印“the number of tanghanyue is greater than 2 ”。"
    if [ $number -gt 2 ]
    then
      echo the number of tanghanyue is greater than 2 
    fi
    echo -e "\n"
    
    echo "如果compile_error_hint.c里面包含tanghanyue字符串的个数大于10两个,打印“second the number of tanghanyue is greater than 10 ”。"
    
    if (("$number" > "10" ))
    then
      echo second the number of tanghanyue is greater than 10 
    fi
    echo -e "\n"
    

    二、脚本搜索的文件compile_error_hint.c:

    weifanghai
    weifanghai
    weifanghai
    weifanghai
    weifanghai
    
    love
    love
    love
    love
    love
    love
    
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue

    三、运行脚本,测试 结果:

    weifanghai@weifanghai-VirtualBox:/work/shell$ ./search_string.sh 
    搜索compile_error_hint.c 文件里面是否包含“messycode”字符串,如果有打印yes messycode,反之打印“no messycode”
    no messycode
    
    
    搜索compile_error_hint.c 文件里面是否包含“tanghanyue”字符串,如果有打印yes tanghanyue,反之打印“no tanghanyue”
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    tanghanyue
    yes tanghanyue
    
    
    显示compile_error_hint.c 文件里面包含“messycode”字符串的个数
    9
    
    
    显示compile_error_hint.c 文件里面包含“messycode”字符串的个数
    9
    
    
    搜索compile_error_hint.c 文件里面是否包含“tanghanyue”字符串,并把结果保存到number.txt文件里面
    
    
    搜索compile_error_hint.c 文件里面是否包含“messycode”字符串,如果有打印yes messycode,反之打印“no messycode”
    yes tanghanyue
    
    
    搜索compile_error_hint.c 文件里面是否包含“weifanghai”字符串,如果有打印yes weifanghai,反之打印“no weifanghai”
    yes weifanghai
    
    
    搜索compile_error_hint.c里面包含tanghanyue字符串的个数,并打印出来。
    9
    
    
    a = 10
    
    
    如果compile_error_hint.c里面包含tanghanyue字符串的个数大于2两个,打印“the number of tanghanyue is greater than 2 ”。
    the number of tanghanyue is greater than 2
    
    
    如果compile_error_hint.c里面包含tanghanyue字符串的个数大于10两个,打印“second the number of tanghanyue is greater than 10 ”。
    
    
    weifanghai@weifanghai-VirtualBox:/work/shell$ 
    

    贴个实际运行图:


    展开全文
  • 我有一个文件config.ini,其中包含以下内容:@ndbd我想用其他文本替换@ndbd来完成文件.下面是我的bash脚本代码:ip_ndbd=(108.166.104.204 108.166.105.47 108.166.56.241)ip_temp=""for ip in $ip_ndbddoip_temp+="\...

    我有一个文件config.ini,其中包含以下内容:

    @ndbd

    我想用其他文本替换@ndbd来完成文件.下面是我的bash脚本代码:

    ip_ndbd=(108.166.104.204 108.166.105.47 108.166.56.241)

    ip_temp=""

    for ip in $ip_ndbd

    do

    ip_temp+="\n\[ndbd\]\nHostname=$ip\n"

    done

    perl -0777 -i -pe "s/\@ndbd/$ip_temp/" /var/lib/mysql-cluster/config.ini

    基本上,我只想以特定格式获取所有IP地址,然后将@ndbd替换为生成的子字符串.

    但是,我的for循环似乎并没有连接$ip_ndbd中的所有数据,只是列表中的第一项.

    所以不要得到:

    [ndbd]

    HostName=108.166.104.204

    [ndbd]

    HostName=108.166.105.47

    [ndbd]

    HostName=108.166.56.241

    我越来越:

    [ndbd]

    HostName=108.166.104.204

    我很确定有更好的方式来写这个,但我不知道怎么做.

    我很感激一些帮助.

    提前致谢.

    展开全文
  • 今天服务器和数据库的密码都更换了,之前开发的shell脚本里有些写死的地方,... -type f -name "*.sh"|xargs grep -E 'jcs@|1\&mEAVUX#J'|awk -F ":" '{print $1}'| uniq 其中:grep -E'jcs@|1\&mEAVUX#J' ...

    今天服务器和数据库的密码都更换了,之前开发的shell脚本里有些写死的地方,需要将密码替换掉;

    先执行命令把包含旧密码的文件都找到;

    find . -type f -name "*.sh"|xargs grep -E 'jcs@|1\&mEAVUX#J'|awk -F ":" '{print $1}'| uniq

    其中:grep -E 'jcs@|1\&mEAVUX#J'  或者包含

     然后写脚本批量执行替换命令

    #!/bin/bash
    ###############
      WORK_PATH=$(cd `dirname $0`; pwd)
      cd $WORK_PATH
      filelist=`ls -l *.sh|awk '{print $9}'`
      for file in $filelist
      do
        sed -i 's/cpbd_idea_2017/@iUmW)v4Se/g' $file
        sed -i 's/Swarp@123/1&mEAVUX#J/g' $file
        sed -i 's/jcs@2019/*Zf^aUt$Zb/g' $file
        echo "$(date "+%Y-%m-%d %H:%M:%S"): $file "
        #sleep 5s
      done
      echo "$(date "+%Y-%m-%d %H:%M:%S"): done"

     

    转载于:https://www.cnblogs.com/wuyuanguo/p/10973786.html

    展开全文
  • 环境Ubuntu 脚本文件sh 如何使用命令替换一长串字符串中 被中括号包含的部分。 例如: [f1r23f]Hello[1f134a]World,替换为=Hello=World
  • 脚本名称:ffind #!/bin/sh #按日志等级进行打印 echo_x() { if [ "${1}" = "info" ]; then echo -e "\033[37m${2}\033[0m"; #白色字 elif [ "${1}" = "notice" ];then echo -e "\033[36m${2}\033[0m"; #...
  • Linux shell脚本

    2019-03-21 23:37:40
    1 #!/bin/bash 或 #!/bin/sh #!告诉系统其后路径所指定的程序即是解析此脚本文件的Shell程序....3 echo “” 用于字符串输出 echo -e “1\t2\t3” -e 包含转意字符 6 变量 只读变量 readonly name 删除变量 unse...
  • Shell Script Shell 脚本包含一系列命令的文本本当;读取执行该文本文档就可以执行文档里面的命令;...第二行是打印字符串 3、对 Shell 脚本文件赋执行权限 chmod +x Hellow.sh 4、执行 Shell 脚本文件 ./
  • Linux使用Shell脚本写日志

    万次阅读 2020-09-30 14:30:37
    echo:用于字符串的输出 >>:向文件中追加文本内容 $date:获取系统日期时间 源代码 log.sh #!/bin/bash # 向`log.txt`文件中追加文本内容,包含日期时间 # 这是一个死循环,每隔1秒执行一次写日志操作 ...
  • 一、什么是脚本  脚本是一个包含一系列命令序列的可执行(777)文本文件。... shell脚本允许用户设置和使用自己的变量,变量可以是数字或者字符串,用户无需指定其类型,也无需在使用前定义。  #!...
  • linux脚本编程技术---8

    2016-04-11 23:01:00
    一、什么是脚本  脚本是一个包含一系列命令序列的可执行(777)文本文件。... shell脚本允许用户设置和使用自己的变量,变量可以是数字或者字符串,用户无需指定其类型,也无需在使用前定义。  #!...
  • 使用for循环在/clsn目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串clsn,脚本内容:[root@lry scripts]# cat make_file.sh #!/bin/bash ########################################...
  • Linux实践

    2020-08-14 22:58:03
    echo -e "1 \t2 \t3" #包含转义序列的字符串 echo -e "\e[1;31m This is red text \e[0m" #输出有色字符串 echo -e "\e[1;42m Green Background \e[0m" #输出带背景颜色的字符串 man console_codes #查看
  • 我正在编写一个脚本,我试图导出一些变量,在我打印时导出我的...此脚本存在于文件script.sh中,我正在执行该文件./script.sh#!/bin/bashwhile IFS="," read f1 f2doecho "Source IP : $f1" #it is printing without...
  • 我有一个bash脚本,其中包含几个utf-8字符串包含的变量。这些变量用作sctript中bash函数的参数,该函数使用此参数调用cp和python脚本。在此脚本在我的计算机上正常运行,但无法在另一台计算机上运行。我试图用set -x...
  • linux中的eval命令

    2021-02-04 20:00:35
    eval是 shell 内置命令,它可以将一个变量中包含字符串扩展成 shell 脚本并执行。当我们通过字符串拼接的方式生成一个l inux 命令时,可以用 eval 来执行它。 假设 employee.dat 文件的每一行描述了一个员工的基本...
  • sed 处理替换字符中的特殊字符

    万次阅读 2016-09-08 11:57:11
    文本文件1.txt中包含字符串[:50] ~/Documents/books/linux/test$:cat 1.txt [:50] 愿意想将[:50]替换为[50:100],脚本如下:~/Documents/books/linux/test$:cat test.sh #!/bin/bash oldstr="[:50]
  • shell脚本判断文件类型

    千次阅读 2019-06-30 17:34:00
    test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。 虽然 Linux 和 UNIX 的每个版本中都包含 test 命令,但该命令有一个更常用的别名 — 左方括号:[test 及其别名通常都可以在/usr/bin 或 /bin (...
  • */20 * * * * sleep 10; flock -xn /xx/runlock -c /xx/etl.sh >/xx/long/etl.log 2>&1 &...第2种形式中,若命令或脚本的参数为空字符串,则等同于第1种形式。 主要命令行选项与参数包
  • 深入学习shell脚本艺术

    热门讨论 2011-02-22 04:01:01
    使用模式匹配来分析比较特殊的字符串 9-20. 对字符串的前缀或后缀使用匹配模式 9-21. 使用declare来指定变量的类型 9-22. 间接引用 9-23. 传递一个间接引用给awk 9-24. 产生随机数 9-25. 从一副扑克牌中取出一张...
  • Linux高级bash编程

    2009-07-28 10:26:07
    使用模式匹配来分析比较特殊的字符串 9-20. 对字符串的前缀或后缀使用匹配模式 9-21. 使用declare来指定变量的类型 9-22. 间接引用 9-23. 传递一个间接引用给awk 9-24. 产生随机数 9-25. 从一副扑克牌中取出一张...
  • linux.chm文档

    2015-07-07 06:37:39
    rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l rpm -q package_name --changelog 显示一个rpm包的修改历史 rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 rpm -qp ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。 exit 1.作用 exit命令的作用是退出系统,它的使用权限是所有用户。 2.格式 exit 3.参数 exit命令没有参数,运行后退出系统...
  • Shell变量知识进阶

    2019-01-30 17:27:00
    脚本传参(默认以空格分隔,如果想参数中包含空格需要加双引号,这样会作为一个字符串参数) 范例1: root@whatislinux:/home/whatispython/workspace/shell# cat test6.sh echo $1 root@whatislinux:/...
  • 简单的shel编程

    2020-08-09 23:31:15
    ** 简单的shel编程 ** shell编程就是对一堆Linux命令的逻辑化处理。 1、首先要创建一个可编辑的文件,即 ...Shell脚本中的变量包含字符串变量和整形变量; (1)变量赋值赋值语句如下:name=”string”; 其中,name
  • token 字段为 POST 参数,本字段为空或不存在则使用 GET 方式发起回调,回调参数采用 JSON 格式编码,当 JSON 的首层参数值包含下表所示的常量字符串时,常量会被程序替换为实际值 常量名称 常量内容 说明 _...
  • Tcl_TK编程权威指南pdf

    热门讨论 2011-03-25 09:30:55
    第4章 tcl中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 ...
  • ELDK使用与开发手册

    2018-03-07 10:53:39
    还免费提供了所有的源代码,包括全部补丁、扩展文件、以及用于编译开发工具使用的程序和脚本。安装包都是基于RPM包管理器。 3.1 获取ELDK 可以通过以下方式获得ELDK。 ·DENX计算机系统光盘 ·从以下服务器中下载 ...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

linuxsh脚本字符串包含

linux 订阅