首页 > 系统相关 >常用shell脚本

常用shell脚本

时间:2024-05-30 11:34:09浏览次数:14  
标签:脚本 常用 shell grep tar echo etc sed txt

数字和字符:

#! /bin/bash
a=10
b=20
#===============================数字运算==============================
val=$[a + b]
val=$[a - b]
val=$[b / a]
val = $[4*(a+b)]
#===============================数字比较==============================
if [ $a -eq $b ]; then
if [ $a -ne $b ]; then
if [ $a -gt $b ]; then
if [ $a -lt $b ]; then
#===============================数字比较==============================
a="abc"
b="efg"
if [ $a = $b ]; then
if [ $a != $b ]; then
if [ -z $a ]; then
   echo "-z $a : 字符串长度为 0"
if [ -n "$a" ]; then
   echo "-n $a : 字符串长度不为 0"
if [ $a ]; then
   echo "$a : 字符串不为空"

#======字符串包含======

    # 字符串不包含
    RESULT=`grep "172.21.101.5" /etc/resolv.conf`
    if [ -z "$RESULT" ]; then
            sed -i '2i nameserver 172.21.101.5' /etc/resolv.conf
    fi
    #字符串 包含
    RESULT=`grep "172.16.0.236" /etc/apt/sources.list`
    if [ -n "$RESULT" ]; then
    echo -e "\n\033[33m [INFO] ---------------查询成功--------------- \033[0m\n"
    return 1
    fi
    
strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
    if [ -n "$RESULT" ]; then
        echo -e "\n\033[33m [INFO] ---------------查询成功--------------- \033[0m\n"
        return 1
    fi      
str='this is a tree! and that is a car.'
[[ $str =~ "this" ]] && echo "\$str contains this"

 

sed 用法:

sed -i "2i\sed add new line ---------" ./03.txt	      #第二行插入内容
sed -i '$a\server 172.22.15.100 iburst'  /etc/ntp.conf   #尾行插入内容

sed -i '/the new/d' 1.txt					#删除匹配行,包含the new 字符串的行
sed -i  '/xml/!d' a.txt					#删除不包含 xml 字符的行
sed -i '$'d  aa.txt				#删除末尾行
sed  -i  '2,$d' file					#删除文件的第2行到末尾所有行:

sed -i '4,7s/^/#/'  a.txt					#//注释文件4-7行(行前添加:#)
sed -i 's/xml/abc/g' a.txt					#将全文所有xml替换为abc
sed -i '/swap/s/^/#/' /etc/fstab				# 注释包含swap的行
sed -n '/swap/p' /etc/fstab

 nl testfile | sed -n '5,7p'	# 仅列出 testfile 文件内的第 5-7 行:
 nl testfile | sed -n '/oo/p'	# 搜索 testfile 有 oo 关键字的行:
 sed -n '/test/,/check/p' file    	#test和check所确定的范围内的行都被打印:
 
 sed -i '5c\No 2-5 number'  file    #将第五行修改为:新内容
 sed -i '2,5c\No 2-5 number'  file  #将2-5行修改为:新内容    

 

其它记录:

ls -l | awk -F " " '{print $3, $9}'        # 获取文件列表某列信息
dpkg -l | grep -w git                #只显示包含git单词的字符-w, --word-regexp
lspci | grep -i ether                # -i  忽略大小写
ps -ef | grep -w agent | grep -v grep            # -v 不显示 grep内容的文本行
grep -rl "" ./* | xargs sed -i 's/root/audadmin/g'         #替换文件内容
sed -i '/iface eth2/,/eth2/ s/eth2/eth3/g' ./interfaces        #sed 先搜索后替换,逗号分割 #替换指定行内容
批量操作:
ls *.tar.gz | xargs -n1 tar xzvf                      // n1 数字1
for tar in *.tar.gz;  do tar xvf $tar; done            # 批量解压文件
for ((i=5; i<10; i++)) ;do ping 172.20.11.$i -c 3; done
操作文件
caja ./        打开文件夹        ---linx-100系统
删除多个文件
   rm -rf step.{11..37}
删除其它文件:
   rm -rf !(step.1)
   rm -rf !(step.1 | step.2)
创建多个文件
   touch a{1..5}.txt
批量拷贝文件:
   find ./ -name "*.pdf" | xargs -i -t cp {} ../lats-doc/
批量修改文件内容:
   grep -rl "" ./* | xargs sed -i 's/root/audadmin/g' 

 

标签:脚本,常用,shell,grep,tar,echo,etc,sed,txt
From: https://www.cnblogs.com/ylxtiankong/p/18222031

相关文章

  • Hive中常用query--关联/聚合/去重/排序举例
    在Hive中,可以使用各种查询来执行关联(JOINs)、聚合(Aggregations)、去重(Distinct)和排序(Sorting)操作。以下是一些常见的查询示例:关联(JOIN):在Hive中执行关联操作通常是为了将两个或多个表中相关的行连接起来。SELECTe.name,e.salary,d.department_nameFROMemployeeseJOIN......
  • NET的应用领域:常用的客户端软件(C/S),Web网站(B/S),工控机软件。
    0201002小白理解听我解释开发语言和开发环境使用1认识.NET平台.NET的读法:DOTNET。DOT是英文”点“的含义。.NET是一种平台,我们在进行.NET平台开发的时候首先要进行.NET平台的部署。在安装VS的时候,下图a中黄色的部分都安装到了对应的操作系统之上。比如Mac,Win10等等。......
  • 【高端精品】外面收费2980的微信小程序拼多多+京东全自动掘金挂机项目, 单机一天轻松30
    在这个数字化时代,有一种新型的网络赚钱方式逐渐兴起,那就是通过自动化脚本来浏览微信小程序版的拼多多商品,从而帮助商家提高商品的曝光率。这种方法不仅简单易行,而且收益可观,成为不少人的新宠。想象一下,你只需要在电脑上安装一个专门的脚本,它就能自动打开拼多多小程序,并快......
  • pwn常用工具快捷键学习
    vim普通模式G(普通模式)来的文本最下方g+g(普通模式下)回到文本的开头f+目标单词的首字母(find普通模式)移动到目标单词d(delete)删除当前行u(undo)撤销文本模式I从当前行开头进行输入A当前行文末输入idaF7单步执行,遇到call......
  • 基础入门 one week (渗透测试常用专业术语)
    POC:全称'ProofofConcept',中文'概念验证',常指一段漏洞证明的代码。EXP:全称'Exploit',中文'利用',指利用系统漏洞进行攻击的动作。(有了POC,才有EXP)Payload:中文'有效载荷',指成功exploit之后,真正在目标系统执行的代码或指令。Shellcode:简单翻译'shell代码',是Pa......
  • 表格的常用样式学习
    表格的常用样式:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>表格的常用样式</title......
  • 数据库中表的基本操作、常用的函数和CRUD语句
    一、创建表和修改表(1)、创建表(2)、修改表二、数据库的CRUD语句(1)、insert语句--添加数据1.插入的数据应与字段的数据类型相同。mysql中会自动将'100'数字字符串转化为int类型2.数据的长度应在列的规定范围内3.在values中列出的数据位置必须与被加入的列的排列位置相对应......
  • 常用js 函数
    清除数组空格removeEmptyArrays(arr){//使用filter方法移除空数组//isArray方法检查元素是否为数组,length属性检查数组是否为空returnarr.filter(item=>Array.isArray(item)&&item.length>0);},清除数......
  • js 常用
    过滤let paid=res.data.data.filter(item=>item.status==1) 排序letpaid=[{a:1,name:你好},{a:0,name:你好}] paid.sort((a,b)=>{  //return(a[a]-b[a])  return(a.a-b.a)})      深拷贝letcp=JSON.parse(JSON.stringify(o......
  • 使用shell脚本替换csv文件中的数据
    [observer@xxx-grey-openrestytest]$catfile.csvbeijing,beijing,lisi,10shanxi,xian,tom,6shanghai,shanghai,xiaoming,3guangdong,guangzhou,wangwu,8sichuan,chengdu,cat,5[observer@xxx-grey-openrestytest]$awk-F,-vOFS=,'$4>5{$4=3}{print......