文档章节

shell 命令学习

涛洛洛
 涛洛洛
发布于 2016/09/20 15:58
字数 402
阅读 38
收藏 0

sed

命令格式:sed [OPTION]... {script-only-if-no-other-script} [input-file]...

# -s
#替换file文件中所有的 field 为 new filed
# g 代表全局
sed ‘s/field/new field/g’ file 
# &表示匹配到的字符串,即 会修改 192.168.0.1 为 192.168.0.1localhost
sed 's/^192.168.0.1/&localhost/' file

# -d
#删除file 的最后1行
# $ 代表最后1行
sed '$d' file
sed '1,$d' file #删除全部行
sed '/test/'d file #删除含test行

# -a
#在第一行和第三行后 加字符串 lalala
sed '1,3a lalala' file 

# -n -p
#显示1,2行输出
sed -n '1,2p' file
#显示 ruby 所在的所有行
sed -n '/ruby/p' file 

wc

命令格式:wc [OPTION]... [FILE]...

#查询file1文件的字节数
wc - c file1 

#查询file1文件的字符数
wc -m file1 

#查询file1 文件的行数
wc -l file1 

例子 二进制转换十进制

#!/bin/sh
help()
{
cat<<HELP
 b2d - convert binary to decimal
 USAGE: b2d [-h] binarynum
 OPTIONS: -h help text
 EXAMPLE: b2d 111010
 will return 58
HELP
 exit 0
}
error()
{
 echo "$1"
 exit 1
}
lastchar()
{
 if [ -z "$1" ]; then
  rval=""
  return
 fi
 numofchar=$(echo -n "$1" | wc -c | sed 's/ //g')
 rval=$(echo -n "$1" | cut -b $numofchar)
}
chop()
{
 if [ -z "$1" ]; then
  rval=""
  return
 fi
 numofchar=$(echo -n "$1" | wc -c | sed 's/ //g')
 if [ "$numofchar" = "1" ]; then
  rval=""
  return
 fi
 numofcharminus1=$(expr "$numofchar" - 1)
 rval=$(echo -n "$1" | cut -b 1-${numofcharminus1})
}

while [ -n "$1" ]; do
 case $1 in 
  -h) help; shift 1;;
  --) shift; break;;
  -*) error "error: no such option $1. -h for help";;
  *) break;;
   esac
done
sum=0
weight=1
[ -z "$1" ] && help
binnum="$1"
binnumorig="$1"
while [ -n "$binnum" ]; do
 lastchar "$binnum"
 if [ "$rval" = "1" ]; then
  sum=$(expr "$weight" + "$sum")
 fi

 chop $binnum
 binnum=$rval
 echo $binnum
 weight=$(expr "$weight" "*" 2)
 echo $weight
done
echo -e "Hello, $USER. \n\nBinary $binnumorig is decimal $sum" 

 

 

© 著作权归作者所有

涛洛洛
粉丝 4
博文 13
码字总数 6019
作品 1
上海
后端工程师
私信 提问
Linux操作系统之Shell程序设计

Shell是种命令解释程序,也可以看作是一种命令语言的解释器。 用户在与Shell交互时所输入的命令行必须符合Shell命令的语法和语义规范,才能够被Shell理解并执行。Shell所使用的这种命令语言称...

Linux就该这么学
06/20
41
0
使用shell命令获取简书主页文章

概述 之前接口测试的时候,经常遇到从response中截取数据的情况,处理起来可能也相对简单一点。今天换个玩法,用shell命令获取简书个人主页文章。 命令如下: 详述 实现这个目标,需要懂一些...

迈阿密小白
2018/05/15
0
0
Linux学习方法分享

Linux学习方法分享 随着Linux应用的扩展许多朋友开始接触Linux,对于刚接触Linux的人而严,不知从何处开始学起。以下是一位Linux系统管理员,在看了许多有关Linux的文档和书籍并为学习Linux...

不想留名
2014/06/14
850
2
Linux 学习技巧

1, 学会如何安装 对于linux操作系统, 必须要学会掌握如何安装各种版本的linux的操作系统(如:Redhat, Ubunut, Suse, Fedora等常见的发行版) 2,学会基本的命令 对于命令的学习,很多小伙伴就...

拉夫斯基
2015/11/23
81
1
Web安全_weevely使用_

一、weevely使用 weevely的功能同之前学习过的中国菜刀,但其功能更加丰富且在linux和windows下都可以运行。kali linux环境下已集成weevely。分weevely生成shell文件、weevely连接后台、wee...

BeatRex
2018/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx访问日志/日志切割/静态文件过期时间/防盗链

Nginx访问日志主要记录部署在nginx上的网站访问数据,日志格式定义在nginx主配置文件中。 nginx主配置文件:/etc/nginx/nginx.conf 查看nginx主配置文件: ```markup [root@linux ~]# cat /e...

asnfuy
13分钟前
5
0
JS_高程4.变量,作用域和内存问题(2)执行环境及作用域

本文转载于:专业的前端网站➨JS_高程4.变量,作用域和内存问题(2)执行环境及作用域 1.执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为,       每个执...

前端老手
16分钟前
3
0
手机迅雷下载的文件,电脑上找不到问题

不知道手机迅雷怎么做到的,手机迅雷下载的文件,手机上可以看的到 但连电脑后, 电脑上看不到文件 . 尝试了打开查看隐藏文件, 但没有效果 . 手机上查询文件权限 也是对的 . 可读,可写, 不隐藏 ...

ol_O_O_lo
18分钟前
3
0
python学习11:Python tuple元组详解

元组是 Python 中另一个重要的序列结构,和列表类似,也是由一系列按特定顺序排序的元素组成。和列表不同的是,列表可以任意操作元素,是可变序列;而元组是不可变序列,即元组中的元素不可以...

太空堡垒185
30分钟前
4
0
Java实现数据结构之线性结构

一、顺序表 顺序表本质是使用数组储存数组的一种数据结构,在计算机的储存中是连续的分配内存的。 下面是我自己使用java实现的简单顺序表结构 package list; public class MyArrayList<E> { ...

daxiongdi
33分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部