shell sed 积累

Shell字符串处理实战:高效去除前后空格的三种方法(awk、sed、eval) 本文详细介绍了在Shell脚本中高效去除字符串前后空格的三种实用方法:awk、sed和eval。重点剖析了awk的gsub()函数法,指出了常见的$1=$1技巧在处理数字0时的致命缺陷,并强调了eval方法的安全风险。文章通过实战场景对比,为脚本开发提供了可靠的数据清洗方案,帮助开发者避免因空格导致的常见数据处理错误。 阅读详情



xshell

    a, 远程登录ssh 等;  ssh 可以证书或者  用户名密码登录

    b, 文件上传下载:

          配置;

           rz   上传文件到unix 服务器

           sz  下载






find and 统计
find ./ -type d -name "*v1*"|wc -l
find ./ -type d -name "*wan*"|wc -l



list:
 for i in `find ./ -type d -name "*tonn*"`;do echo $i;done
 
 

查询 拷贝

for i in `find ./ -type d -name "*tonn*"`;do rsync -avP $i /data/aa/;done




1, 生成全目录的list:


[root@10-10-159-137 ip_all_my_used]# pwd
/data/actlog/ip_all_my_used

[root@10-10-159-137 ip_all_my_used]# find /data/actlog/ip_all_my_used/ -name "*.tar.gz"  > service.list

/data/actlog/ip_all_my_used/wefasdierfxoede1/act.log.2015-10-06.tar.gz
/data/actlog/ip_all_my_used/wefasdierfxoede1/act.log.2015-08-31.tar.gz




2, 全list文件修改内容:

#!/bin/bash

i=0
echo "current time is: "$(date)
for tarfile in `cat ./service.list`
do
        echo $tarfile
        tar -zxvf $tarfile
        rm -fr $tarfile
        logfile=`ls act.log.*`
        echo "here is my: "$logfile
        echo `ll $logfile`
        sed  -i 's/S771/S257/g' $logfile
        tar czf $tarfile $logfile
        echo "current time is: "$(date)
        rm ./act.log.*
done


service.list 内容如下:

/data/actlog/ip_all_my_used/wefasdierfxoede1/act.log.2015-11-15.tar.gz



3, 几个 用过的sed 替换 或者行删除

   锚定行的结束 如:/sed$/匹配所有以sed结尾的行

   删除 reason=65 结束的行;

   sed  -i 's/reason=65$//g'   act.log.2015-11-15
   sed  -i 's/reason=74$//g'   act.log.2015-11-15
   
   删除所有 && 之间, 含有 banlance的 列;   &balance=14044& ---》》》  &&
   sed  -i 's/&[^&]*balance[^&]*//g'   act.log.2015-11-15
 
   删除所有 && 之间, 含有 banlance的 列(包括前面的&);   &balance=14044& ---》》》  &
   sed  -i 's/&balance[^&]*//g'   act.log.2015-11-15






4,  shell 脚本例子


[root@10-10-159-137 ip_all_my_used]# find /data/actlog/ip_all_my_used/ -name "*.tar.gz"  > service.list

循环遍历 目录中的tar.gz 文件, 解压, 搜索文件, 然后满足一定条件的, 输出到指定文件(目录拼接而成)中。


#!/bin/bash

i=0
echo "current time is: "$(date)
for tarfile in `cat ./service.list`
do
        a=${tarfile%".tar.gz"}
        path1=${a#"/data/actlog/"}
        path=${path1//"/"/"_"}
        tar -zxvf $tarfile
        for line in `cat ./act.log.*`
        do
                #echo $line
                if [[ $line == *interface=yb_expend* ]]
                then
                        echo $line >> ./yb_expend/$path"yb_expend".txt
                elif [[ $line == *interface=shop_buy* ]]
                then
                        echo $line >> ./shop_buy/$path"shop_buy".txt
                elif [[ $line == *interface=recharge* ]]
                then
                        echo $line >> ./recharge/$path"recharge".txt
                elif [[ $line == *interface=yb_income* ]]
                then
                        echo $line >> ./yb_income/$path"yb_income".txt
                elif [[ $line == *interface=logout* ]]
                then
                        echo $line >> ./logout/$path"logout".txt
                fi
        done
        i=$(($i+1))
        echo "current time is: "$(date)
        echo "is first parseing log file of: "$i" and name is: "$tarfile
        rm ./act.log.*
done



5, 批量更改当前目录:


#!/bin/bash

echo "current time is: "$(date)
i=0
for tarfile in `ls .`
do
        mv $tarfile "bf4c52cbd9cd_"$i
        i=$(($i+1))
done



6, 批量运行 一系列脚本:

# cat  run_parse.sh

echo "here make dir" >> timeinfo.txt
date >> timeinfo.txt
./mymkdir.sh

echo "here firstparse" >> timeinfo.txt
date >> timeinfo.txt
./firstparse.sh


echo "here make dir" >> timeinfo.txt
date >> timeinfo.txt
./recharge.sh


echo "here  shop_buy" >> timeinfo.txt
date >> timeinfo.txt
./shop_buy.sh


echo "here parse yb_expend" >> timeinfo.txt
date >> timeinfo.txt
./yb_expend.sh


echo "here parse yb_income" >> timeinfo.txt
date >> timeinfo.txt
./yb_income.sh


echo "here parse logout" >> timeinfo.txt
date >> timeinfo.txt
./logout.sh





7,   去除 某些 表头的 列名;

#!/bin/bash

rm -fr tt.txt
ls  yb_expend  > tt.txt
#find ./yb_expend/ -name "*.txt" > tt.txt


let i=0
for tarfile in `cat tt.txt`
do
  echo ./"yb_expend"/$tarfile
  sed -i 's/interface=/\ /g' ./"yb_expend"/$tarfile
  sed  -i 's/&gname=/, /g'   ./"yb_expend"/$tarfile
  sed   -i 's/&gid=/, /g'   ./"yb_expend"/$tarfile
  sed  -i 's/&sid=/, /g'    ./"yb_expend"/$tarfile
  sed  -i 's/&oldsid=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&user=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&roleid=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&dept=/, /g'  ./"yb_expend"/$tarfile
  sed  -i 's/&time=/, /g'  ./"yb_expend"/$tarfile
  sed  -i 's/&amount=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&balance=/, /g' ./"yb_expend"/$tarfile
  sed  -i 's/&level=/, /g'  ./"yb_expend"/$tarfile
  sed  -i 's/&reason=/, /g' ./"yb_expend"/$tarfile

  cat ./"yb_expend"/$tarfile >> yb_expend_after.txt
  i=$(($i+1))
done

echo "yb_expend file number is"$i
echo "done yb_expend  , and yb_expend file number is "$i >> result_log.txt

rm -fr tt.txt



#!/bin/bash

rm -fr tt.txt
ls  yb_expend  > tt.txt
#find ./yb_expend/ -name "*.txt" > tt.txt


let i=0
for tarfile in `cat tt.txt`
do
  echo ./"yb_expend"/$tarfile
  sed  -i 's/reason=65$//g'  ./"yb_expend"/$tarfile
  sed  -i 's/reason=74$//g'  ./"yb_expend"/$tarfile  #删除reason=74的行列
  sed  -i 's/&balance[^&]*//g'  ./"yb_expend"/$tarfile  #删除balance 列
  sed -i 's/interface=/\ /g' ./"yb_expend"/$tarfile
  sed  -i 's/&gname=/, /g'   ./"yb_expend"/$tarfile
  sed   -i 's/&gid=/, /g'   ./"yb_expend"/$tarfile
  sed  -i 's/&sid=/, /g'    ./"yb_expend"/$tarfile
  sed  -i 's/&oldsid=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&user=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&roleid=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&dept=/, /g'  ./"yb_expend"/$tarfile
  sed  -i 's/&time=/, /g'  ./"yb_expend"/$tarfile
  sed  -i 's/&amount=/, /g'  ./"yb_expend"/$tarfile
  sed   -i 's/&balance=/, /g' ./"yb_expend"/$tarfile
  sed  -i 's/&level=/, /g'  ./"yb_expend"/$tarfile
  sed  -i 's/&reason=/, /g' ./"yb_expend"/$tarfile

  cat ./"yb_expend"/$tarfile >> yb_expend_after.txt
  i=$(($i+1))
done

echo "yb_expend file number is"$i
echo "done yb_expend  , and yb_expend file number is "$i >> result_log.txt

rm -fr tt.txt




#!/bin/bash

rm -fr tt.txt
ls  shop_buy  > tt.txt
#find ./shop_buy/ -name "*.txt" > tt.txt

let i=0
for tarfile in `cat tt.txt`
do
  echo ./"shop_buy"/$tarfile
  sed -i 's/interface=/\ /g' ./"shop_buy"/$tarfile
  sed  -i 's/&gname=/, /g'   ./"shop_buy"/$tarfile
  sed   -i 's/&gid=/, /g'   ./"shop_buy"/$tarfile
  sed  -i 's/&sid=/, /g'    ./"shop_buy"/$tarfile
  sed  -i 's/&oldsid=/, /g'  ./"shop_buy"/$tarfile
  sed   -i 's/&user=/, /g'  ./"shop_buy"/$tarfile
  sed   -i 's/&roleid=/, /g'  ./"shop_buy"/$tarfile
  sed   -i 's/&dept=/, /g'  ./"shop_buy"/$tarfile
  sed  -i 's/&time=/, /g'  ./"shop_buy"/$tarfile
  sed   -i 's/&balance=/, /g' ./"shop_buy"/$tarfile
  sed  -i 's/&itemid=/, /g' ./"shop_buy"/$tarfile
  sed  -i 's/&amount=/, /g'  ./"shop_buy"/$tarfile
  sed   -i 's/&money=/, /g'  ./"shop_buy"/$tarfile
  sed  -i 's/&level=/, /g'  ./"shop_buy"/$tarfile
  sed  -i 's/&remain=/, /g' ./"shop_buy"/$tarfile
  sed  -i 's/&map_id=/, /g' ./"shop_buy"/$tarfile

  cat ./"shop_buy"/$tarfile >> shop_buy_after.txt
  i=$(($i+1))
done

echo "shop_buy file number is"$i
echo "done shop_buy , and shop_buy file number is "$i >> result_log.txt
rm -fr tt.txt



#!/bin/bash

rm -fr tt.txt
ls  yb_income  > tt.txt
#find ./yb_income/ -name "*.txt" > tt.txt

let i=0
for tarfile in `cat tt.txt`
do
  echo ./"yb_income"/$tarfile
  sed -i 's/interface=/\ /g' ./"yb_income"/$tarfile
  sed  -i 's/&gname=/, /g'   ./"yb_income"/$tarfile
  sed   -i 's/&gid=/, /g'   ./"yb_income"/$tarfile
  sed  -i 's/&sid=/, /g'    ./"yb_income"/$tarfile
  sed  -i 's/&oldsid=/, /g'  ./"yb_income"/$tarfile
  sed   -i 's/&user=/, /g'  ./"yb_income"/$tarfile
  sed   -i 's/&roleid=/, /g'  ./"yb_income"/$tarfile
  sed   -i 's/&dept=/, /g'  ./"yb_income"/$tarfile
  sed  -i 's/&time=/, /g'  ./"yb_income"/$tarfile
  sed  -i 's/&amount=/, /g'  ./"yb_income"/$tarfile
  sed   -i 's/&balance=/, /g' ./"yb_income"/$tarfile
  sed  -i 's/&level=/, /g'  ./"yb_income"/$tarfile
  sed  -i 's/&reason=/, /g'  ./"yb_income"/$tarfile

  cat ./"yb_income"/$tarfile >> yb_income_after.txt
  i=$(($i+1))
done

echo "yb_income file number is"$i
echo "done yb_income, and yb_income file number is "$i  >> result_log.txt
rm -fr tt.txt



#!/bin/bash

rm -fr tt.txt
ls  logout  > tt.txt
#find ./logout/ -name "*.txt" > tt.txt

let i=0
for tarfile in `cat tt.txt`
do
  echo ./"logout"/$tarfile
  sed -i 's/interface=/\ /g' ./"logout"/$tarfile
  sed  -i 's/&gname=/, /g'   ./"logout"/$tarfile
  sed   -i 's/&gid=/, /g'   ./"logout"/$tarfile
  sed  -i 's/&sid=/, /g'    ./"logout"/$tarfile
  sed  -i 's/&oldsid=/, /g'  ./"logout"/$tarfile
  sed   -i 's/&user=/, /g'  ./"logout"/$tarfile
  sed   -i 's/&roleid=/, /g'  ./"logout"/$tarfile
  sed   -i 's/&dept=/, /g'  ./"logout"/$tarfile
  sed  -i 's/&time=/, /g'  ./"logout"/$tarfile
  sed  -i 's/&level=/, /g'  ./"logout"/$tarfile
  sed  -i 's/&map_id=/, /g'  ./"logout"/$tarfile
  sed   -i 's/&ip=/, /g'  ./"logout"/$tarfile
  sed   -i 's/&onlinetime=/, /g' ./"logout"/$tarfile
  sed  -i 's/&group=/, /g'  ./"logout"/$tarfile

  cat ./"logout"/$tarfile >> logout_after.txt
  i=$(($i+1))
done

echo "logout file number is"$i
echo "done logout, and logout file number is "$i  >> result_log.txt
rm -fr tt.txt






#!/bin/bash

#rm -fr tt.txt
ls  recharge  > tt.txt
#find ./recharge/ -name "*.txt" > tt.txt

i=0
for tarfile in `cat tt.txt`
do
  echo ./"recharge"/$tarfile
  sed -i 's/interface=/\ /g' ./"recharge"/$tarfile
  sed  -i 's/&gname=/, /g'   ./"recharge"/$tarfile
  sed   -i 's/&gid=/, /g'   ./"recharge"/$tarfile
  sed  -i 's/&sid=/, /g'    ./"recharge"/$tarfile
  sed  -i 's/&oldsid=/, /g'  ./"recharge"/$tarfile
  sed   -i 's/&user=/, /g'  ./"recharge"/$tarfile
  sed   -i 's/&roleid=/, /g'  ./"recharge"/$tarfile
  sed   -i 's/&dept=/, /g'  ./"recharge"/$tarfile
  sed  -i 's/&time=/, /g'  ./"recharge"/$tarfile
  sed  -i 's/&amount=/, /g'  ./"recharge"/$tarfile
  sed   -i 's/&money=/, /g'  ./"recharge"/$tarfile
  sed   -i 's/&balance=/, /g' ./"recharge"/$tarfile
  sed  -i 's/&level=/, /g'  ./"recharge"/$tarfile
  sed  -i 's/&order=/, /g'  ./"recharge"/$tarfile
  sed  -i 's/&channel=/, /g' ./"recharge"/$tarfile
  cat ./"recharge"/$tarfile >> recharge_after.txt
  i=$(($i+1))
done

echo "recharge file number is"$i
echo "done recharge , and recharge file number is "$i >> result_log.txt
rm -fr tt.txt
~                  





8,

#cat list_make_base_para.sh

遍历101.× 的目录,  然后查找所有 *.tar.gz 文件  到 service.list 中。

[root@10-10-159-137 ip_101.198]# vim list_make_base_para.sh

#!/bin/bash

#echo $1

find . -name "101.*"  > ip_101.198.txt

sed  -i 's/.\// /g'  ip_101.198.txt

for ip_addr in `cat ./ip_101.198.txt`
do
  find "/data/actlog/"$ip_addr -name "*.gz" > ip_101.198_list.txt
done




9, shell 分隔符

#!/bin/bash
oldIFS=$IFS
echo $IFS

IFS=$':'
for i in `cat /etc/passwd`;
do
echo $i
done;
IFS=$oldIFS




10, 追加文件到 文件末尾

#!/bin/bash

i=0
echo "current time is: "$(date)

for fullfile in `ls yb_expend`
do
        fill=${fullfile:0:18}
        tarfile="bf4c52cbd9cd/"$fill".tar.gz"
        echo $tarfile
        echo $fullfile
        tar -zxvf $tarfile
        rm -fr $tarfile
        logfile=`ls act.log.*`
        echo "here is my: "$logfile
        sed  -i 's/gameinfo interface=yb_expend*//g'  $logfile

        linenumbers=`sed -n '$='  $logfile`
        centerline=`expr $linenumbers / 2`
        echo ./yb_expend/$fullfile


        cat ./yb_expend/$fullfile >> $logfile
        #sed -i '200r ./yb_expend/$fullfile '  $logfile
        tar czf $tarfile $logfile
        echo "current time is: "$(date)
        rm ./act.log.*
done



11: 修改   修改时间

for fullfile in `ls .`
do
        fill=${fullfile:8:4}${fullfile:13:2}${fullfile:16:2}
        fill=$(($fill+1))

        touch -d "$fill 01:03:00"  $fullfile
        echo "$fill 01:03:00"
done


从论文到生产:iSLIP优先级匹配算法在SDN交换机中的20年演进史 本文回顾了iSLIP优先级匹配算法在SDN交换机中的20年演进历程,从斯坦福大学的原始论文到现代芯片实现。通过独特的指针滑动和迭代循环机制,iSLIP算法显著提升了交换机的吞吐量和公平性,解决了传统FIFO调度的队头阻塞问题。文章详细探讨了算法在硬件实现中的工程挑战、开源实践及未来AI时代的智能调度方向。 阅读详情

相关推荐

Autodesk激活无无网络选项?许可类型与脱机激活排查修复指南

软件许可激活是保障正版授权正常使用的核心环节,常见的授权模式包括单机版许可和网络版许可,两者在认证机制和应用场景上有所区别。单机版离线授权依托 FlexNet Licensing Service 等底层服务组件,在断网或内网环境下为用户提供可靠的技术支持与授权验证路径。然而在实际部署中,激活窗口并不总是显示“无网络激活方式”入口,这可能与许可类型选择、网络环境干扰、组件安装残留或系统时间偏差有关。理解入口的动态呈现逻辑与排查顺序,有助于在 AutoCAD、Revit 等 Autodesk 产品中高效解决脱机

weixin_28709649的博客 355

Linux操作系统实验报告单(7)shell 编程

通过本次实验,我深刻体会到Linux文本处理工具与Shell脚本编程的独特魅力,也对系统化编程思维有了更深的理解。首先,在对比使用grep、sed、awk完成相同需求的过程中,我认识到工具选型的重要性——没有最好的工具,只有最合适的场景。例如grep的快速匹配特性适合简单过滤,而awk的字段处理能力在复杂数据解析中更具优势,这种实践对比比单纯学习语法更让人记忆深刻。在编写阶乘脚本时,我经历了从“功能实现”到“健壮性设计”的思维转变。

小李独爱秋的博客 1878

微信小程序导航栏滑动一定距离后固定到顶部

接上一篇文章的内容,通常在一个页面中部会有一个导航栏查看不同的内容,这篇文章旨在实现在页面下滑的过程中导航栏自动固定到顶部以便我们阅读过程中的切换。 下滑一段距离后自动固定到顶部 首先,思考这个功能应该是怎么实现的: 在页面下滑的过程中,我们希望系统应当能识别下滑了多少距离,当原本的导航栏逐渐被遮住以后(遮住意味着下滑了特定距离),触发这个功能,执行另一种样式,将导航栏固定在页面顶端,同时如果我们将页面往上滑,系统能识别到原来的导航栏能露出来了(即距离顶端的高度小于一个特定的值),这时候又执行最初的样式

Oblivision_Geek的博客 4030

linux 学习总结

在原来的公司,使用linux 近一年,主要是写shell脚本。换了工作之后,就没有机会使用linux了。简单的总结一下,以免忘记。函数使用bzip解压:decompression_bz() { current_path=`pwd` dest_path=$2 if [ ! -d "$dest_path" ] ...

weixin_33919941的博客 91

excel 利用SUBTOTAL函数计算筛选后数列总和、均值、最大、最小值

表里有三个人,咱们需要筛选出三个人,并分别计算他们的总和值。 先看一下数据范围(A1:B27) 通过筛选找张三。 按照上图所示输入函数,选择9,求和。 然后按照函数输入即可。 就能计算出结果。 筛选项选择王五,就会自动计算王五的总和。 筛选到李四就会自动计算李四的总和。 如果把9改成1,就是自动计算筛选出来的均值结果,如下图所示。 如果改成4就是取筛选项的最大值,选择5就是取最小值。 ...

yuanYW7556的博客 3万+

【客户案例】母婴行业头部品牌是如何做私域的

各品牌争相跑马圈地,想方设法圈住流量,建立品牌资产;私域运营是一项“重人力”的工作,在传统的品牌运营过程中,私域操盘手经常会由于一对多导致无法兼顾,只能通过提高触达次数的方式加大漏斗,这样难以让每个社群都发挥出应有的价值,甚至还会导致一定程度的用户流失。除了宝妈身份外激发的用户认同感、亲密度外,KOC们作为产品的使用者,自由选择的推品和自由创作的推广文案都更具有真实性、代表性,能够极大程度激发群友们的信任感,从而愿意为产品买单,转化复购水到渠成。不同阶段的宝妈,母婴知识的储存量和经验是不同的,K品牌还会。.

圈量SCRM系统-企微营销工具-私域流量运营软件 947

做运维工程师辛苦吗?

你要知道做那一块的运维(确保网络稳定安全)(应用软件进程监控、服务和端口相应情况、故障处理等)(操作系统监控 恢复 等)、(计算机终端、外围输入输出设备等的维护)、(比如机房环境、、消防等)、(主机容量扩充、服务器CPU使用情况、端口访问测试、备份等)你得知道运维懂那些技能了,这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书60%内容,没必须全部掌握,但基本命令总得会吧。

logic1001的博客 996

告别卡顿!在RK3588上优化Gstreamer推拉流与RKNN推理的完整Pipeline实战

本文详细介绍了在RK3588平台上优化Gstreamer推拉流与RKNN推理的全链路Pipeline实战。通过解码环节参数调优、RKNN线程管理、内存预分配策略以及编码输出优化,实现60FPS流畅处理与亚秒级延迟。特别针对实时视频分析场景,提供了从rtspsrc到appsink的毫秒级优化方案,助力开发者构建零卡顿的智能视觉系统。

weixin_30698527的博客 483

Linux运维工程师入门须掌握的10个技术点

↑ 点击上方“运维技术”关注我们本篇文章来源于专业运维技术公众号: 运维技术,以下为全文:今天跟大家讨论下linux运维工程师,对这方面的心得,现在我说说要掌握哪方面的工具吧说到工具,在...

ITIL之家公众号 1174

8.2-12.4GHz喇叭天线设计

使用后处理模板的优化算法,对a1、h_horn、b1进行优化,各参数的优化区间即为之前计算得到的参数范围。由于矩形喇叭的辐射特型基本上是E面和H面扇形喇叭的结合,当波导中只是单模传播(只有TE波)时,矩形喇叭的口径可以通过远场公式推理出来。表示矩形喇叭的口径效率,进行最佳增益设计时,一般取值为0.5。从表中可以看出,该结构在8.58GHz的增益误差为2.68%>2.5%,需要对结构进行优化。建模完成,之后就是在矩形波导尾部添加波导端口激励,以及对应频率的远场监视器。,在这里,将频率定为区间的中心频率。

qq_48897427的博客 6656

以太网MII、RMII、GMII、RGMII(三)

RMII接口收发的数据位宽为2bit,因此管脚数目大为减少,在高密端口PHY中应用较多,但是由于其是MAC和PHY共用一个参考时钟,接口之间的距离不能太远;一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK,两者的方向是不一样的,前者有PHY提供(同MII),后者由MAC或外部参考时钟源提供,绝大多数GMII接口都是兼容MII接口的,在用作MII模式时,使用TX_CLK和8根数据线中的4根。MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。

qq_42357877的博客 2331

Shell脚本日常积累

文章目录1.shell脚本调试技巧2.Shell脚本自动化交互式3.Shell的前后台4.vi命令(编辑模式)4.shell数组5.shell数值6 awk命令7.字符串的分割8.常用的linux命令 1.shell脚本调试技巧 #1.Windows下编辑的脚本需要使用dos2unix格式化 dos2unix demo.sh #2.使用bash命令参数调试 -n:不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示 -v:在执行脚本时,先将脚本的内容输出到屏幕上,然后执行脚本,如果有错误,也会给出错误

XiaoPawnYe的博客 1046

SKUA-GOCAD入门教程-第七节 点的创建与编辑3

本文介绍了四种从井数据创建点集的方法

江洋大葱的博客 963

【零散积累】shell脚本学习

来自wiki迁移页面路径:刘旺的主页 / 个人零散积累 / 03> shell脚本学习 case Shell case语句(多分支条件判断) $( ) Linux—shell中$(( ))、$( )、``与${ }的区别 - chengd - 博客园 在bash中,$( )与` `(反引号)都是用来作命令替换的。 命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。 cat Linux cat命令详..

Allen . Liu 1534

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

shell知识积累

特定的shell变量$#   传递给脚本的参数个数$*    以一个单字符串显示所有向脚本传递的参数$$    脚本运行的当前进程ID号$!     后台运行的最后一个进程的进程ID号$-     显示shell使用的当前选项$?    显示最后命令的退出状态   1. 查找当前目录下面,所有php文件里面,是否含有string的内容#find ./

Technology+Communication+Fashion 491

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Shell脚本的使用(积累ing)

前文: Shell脚本可提高工作执行效率,本质上为一堆命令的集合。 一、字符串处理 #部分代码案例展示 log_index=$(cat $log_txt) #最新记录 #echo $log_index log_path=$(echo $log_index | awk '{print $4}') #数据文件 #echo $log_path log...

weixin_42687074的博客 332

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

shell脚本积累

编者注:shell脚本的学习只有一个方法,那就是多练,多练,多练。嗯,重要的事情说三遍。 RANDOM和Seq的使用 练习1:编写脚本清空所有arp缓存记录: #!/bin/bash for i in $(arp | tail -n +2|tr -s ' ' |cut -d' ' -f1) do arp -d $i done 练习2:产生3个随机数: 方法1:

阿鹏的笔记 1340

shell5(一些积累到的东西)

<< EOF >> 这个东西能输入多行。 当 shell遇到 <<这个东西就会认为后边的是一个分割符。遇到这个就会结束。而之前的东西都会被当做是输入。 所以可以做很多事情。 多行输入 [root@localhost ~]# vim eoftest.sh #!/bin/bash cat << END >> txt.txt 11111 2...

n_u_l_l_的博客 297

linux知识、shell技巧积累

1、find . -name *.cpp | xargs grep -L "-Ddebug" 列出当前目录下所有 不包含 字符串test的.cpp文件名称(有些编译选项需要所有的cpp中都包含, 这条命令就可以找出漏加的文件)

weixin_59665492的博客 1198

awk && sed (1)====积累取ip以及sed 查找替换

(一)awk 和 sed 的相似点 (1)它们都使用相似的语法来调用。 (2)它们都是面向字符流的,都是从文本中一行一行的输入,并且将输入直接送到标准输出端 (3)它们都使用正则表达式进行模式匹配 (4)它们允许用户在脚本中指定指令 我可能写的不是很好,这是我写脚本经常用到的,我认为这种东西要想学好就的多想,然后慢慢积累,而且我个人的心得是更加注重从实...

weixin_33859665的博客 147

Shell知识积累

1、打印本机第一个端口IP ifconfig | awk -F: '/inet addr/{print $2}'| awk '{if(NR==1) print $1 }' 2、打印本机所有端口IP  ifconfig | awk -F: '/inet addr/{print $2}' | awk '{print $1}' 3、cat EOF使用 http://xuqq999.blog....

weixin_34049948的博客 75

Linux中sed与awk的区别,shell中sed和awk的一些用法和例子

介绍做运维的应该经常用sed和awk这两个工具,但要想把他们用得好绝非易事,需要长时间的积累,本文就粗略的谈谈日常中用到的一些例子。正文1 如何在shell中获取字符串string的长度echo ${#string}2 替换文件text中一个或多个空格sed -i "s/ \+/||/g" test注释:\+意思是之前字符的一个或多个3 删除文件text中“[”和“]”两个字符sed -i -e ...

weixin_36057482的博客 219

shell积累

e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x

qq_18536071的专栏 534

Shell脚本知识点积累

1.字符串; 2.if...elif...else的使用; 3.获取键盘输入; 4.文件的读写; 5.退出程序exit;

fracong的博客 260

shell命令积累

1、常用命令 命令汇总 man ls cd pwd cp rm mkdir rmdir mv touch head/tail uptime whoami shutdown cat find/locate grep mount sudo su diff tar ifconfig nc tcpdump netstat ethtool svn dd more/less| && ...

chenkaifang的博客 443

shell脚本学习积累

注意`` 可以将【一个命令的输出】作为作为【另一个命令的输入参数】,其中mtime是过去24小时修改的意思。

qq_39227541的博客 582
上一篇: git cherry pick
下一篇: Shell脚本8种字符串截取方法总结
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值