Linux shell常用命令总结

本文档汇总了在Linux环境中编写Shell脚本时常用的命令,包括文本内容替换与删除、行列选择、脚本参数处理、加减乘除运算以及一些其他实用功能,如日期、sudo执行权限受限命令和文件排序等。
摘要由CSDN通过智能技术生成

0 前言

本人由于常在Linux中跑各种实验测试,为了减少精力,通常是先写好自动跑实验的脚本以及结果处理的脚本,最后直接用excel打开实验结果。为了方便读者以及自己以后写脚本,特总结了写shell脚本常用的指令。如有不当之处或者好的建议以及好的补充,欢迎各位读者在评论中指出,本人在此提前道声谢谢!

1 文本内容替换与删除

  • 替换特定行的内容。 将hello.txt文件的第${line}行中的内容替换为sudo bash -c ‘echo 0 > /sys/kernel/mm/ksm/run’。注:${line}是提前定义的变量,可以直接固定为某数字,比3c表示第3行。-i表示替换文本
sed -i "${line}c sudo bash -c 'echo 0 > /sys/kernel/mm/ksm/run'" hello.txt
  • 替换以特定字符开头的某一行。 比将hello.txt文件中所有以hibench.scale.profile的内容替换为"hibench.scale.profile ${var}",${var}是一个变量
sed -i "/^hibench.scale.profile/c\hibench.scale.profile    ${var}" hello.txt
  • 替换第一次出现的某字符。 比如将第一次出现${character}替换为${other_character},注意${other_character}和${character}都是shell变量,$/s中的$表示字符串结束。
sed -i "0,/${character}$/s/${character}$/${other_character}/g" hello.txt
  • 在文件第一行之前添加内容。 比如将"hello world"添加到hello.txt第一行之前,其中1i表示第一行。
sed -i "1i\hello world" hello.txt
  • 删除文件第一列。
sed -i -e "s/[^ ]* //" hello.txt
  • 删除文件第一行。 其中1d表示第一行,nd表示第n行,$d表示最后一行。
sed -i '1d' hello.txt

2 行列选择

  • 打印文件的第3行到第6行的第2列 (包含第3行和第6行)
cat test.txt | sed -n "3, 6p" | awk '{print $2}'

3 脚本参数处理

  • 字符串分割或者替换。 比如用target_str替换source_str,比如使用${str//,/ }可以将输入的字符串参数转换成数组,注意:字符串最好是"A B C"或者“A,B,C”或“A-B-C”这个样式的。
${
   parameter//source_str/target_str}  #用target_str来替换parameter变量中所有匹配的source_str
  • 打印帮助信息
read -r -d '' USAGE << EOS
Usage: $0 [options]

Options:
args            parameter meaning and value
-h | --help           Display help infomation.
-s | --scale          Data scale profile. Available value is tiny, small, large, huge, gigantic and bigdata. Default value is small.
-m | --maps           Mapper number in hadoop, partition number in Spark. Default value is 8.
-f | --shuffles       Reducer nubmer in hadoop, shuffle partition number in Spark. Default value is 8.
-S | --spark-master   Spark master. Standalone mode: spark://xxx:7077, YARN mode: yarn-client. Default value is yarn-client.
-n | --exec-num       Spark executor number when running on Yarn. Default value is 2.
-c | --exec-cores     Spark executor number when running on Yarn. Default value is 4.
-M | --exec-mem       Spark executor memory in standalone & YARN mode. Default value is 4g.
-d | --driver-mem     Spark dirver memory in standalone & YARN mode. Default value is 4g.
-b | --benchmark      HiBench benchmark, available value is: micro.sleep, micro.sort, micro.terasort, micro.wordc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值