grep线上环境精典案例后续
请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答)。
自己的方法:
[root@nginx_back ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:21:B6:B1
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe21:b6b1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:83235 errors:0 dropped:0 overruns:0 frame:0
TX packets:142206 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9020682 (8.6 MiB) TX bytes:11377482 (10.8 MiB)
[root@nginx_back ~]#
[root@nginx_back ~]# man -cut
man:无效选项 -- u
Cannot open the message catalog "man" for locale "zh_CN.UTF-8"
(NLSPATH="/usr/share/locale/%l/LC_MESSAGES/%N")
man, version 1.6f
usage: man [-adfhktwW] [section] [-M path] [-P pager] [-S list]
[-m system] [-p string] name ...
a : find all matching entries
c : do not use cat file
d : print gobs of debugging information
D : as for -d, but also display the pages
f : same as whatis(1)
h : print this help message
k : same as apropos(1)
K : search for a string in all pages
t : use troff to format pages for printing
w : print location of man page(s) that would be displayed
(if no name given: print directories that would be searched)
W : as for -w, but display filenames only
C file : use `file' as configuration file
M path : set search path for manual pages to `path'
P pager : use program `pager' to display pages
S list : colon separated section list
m system : search for alternate system's man pages
p string : string tells which preprocessors to run
e - [n]eqn(1) p - pic(1) t - tbl(1)
g - grap(1) r - refer(1) v - vgrind(1)
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2
192.168.0.131 Bcast
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2-2
192.168.0.131 Bcast
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2-4
192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2
192.168.0.131 Bcast
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d ': ' -f 2
cut: 分界符必须是单个字符
请尝试执行"cut --help"来获取更多信息。
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d '' -f 2
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut '' -f 2
cut: : 没有那个文件或目录
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2
192.168.0.131 Bcast
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2|grep -v "Bcast"
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2|grep -v " Bcast"
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2
192.168.0.131 Bcast
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|cut -d : -f 2|cut -d ' ' -f 1
192.168.0.131
再试试用sed解出本题答案:
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|sed "s/inet addr:192.168.0.131/192.168.0.131/"
192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
不行
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|sed "s/192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0/192.168.0.131/" 笨办法也没有达到想要的结果
inet addr:192.168.0.131
[root@nginx_back ~]# ifconfig eth0|grep "inet addr"|sed "s/192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0/192.168.0.131/"|sed "s/inet addr:192.168.0.131/192.168.0.131/"
192.168.0.131 重属笨办法
awk目前还没有学,所以还不会,以后会补充上
老男孩老师的方法:
[root@nginx_back ~]# ifconfig eth0|grep "inet addr:"
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|grep "inet addr:"|cut -d":" -f 2
192.168.0.131 Bcast
[root@nginx_back ~]# ifconfig eth0|grep "inet addr:"|cut -d":" -f 2|cut -d" " -f1
192.168.0.131
方法一、[root@nginx_back ~]# ifconfig eth0|grep "inet addr:"|cut -c 21-33
192.168.0.131
方法二、[root@nginx_back ~]# ifconfig eth0|sed -n "2p"
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|sed -n "2p"|cut -c 21-33
192.168.0.131
方法三、[root@nginx_back ~]# ifconfig eth0|awk 'NR==2'
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|awk 'NR==2'|cut -c 21-33
192.168.0.131
方法四、[root@nginx_back ~]# ifconfig eth0|head -2|tail -1|awk -F "[ :]+" '{print $4}'
192.168.0.131
推荐方法五、[root@nginx_back ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}' “+“在这代表多个空格或多个冒号算一个分隔符
192.168.0.131
解释方法五、
[root@nginx_back ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:21:B6:B1
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe21:b6b1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:87736 errors:0 dropped:0 overruns:0 frame:0
TX packets:150293 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9441211 (9.0 MiB) TX bytes:11948352 (11.3 MiB)
[root@nginx_back ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2 {print $4}'
192.168.0.131
“+“号在上面的方法五里面代表多个空格或多个冒号算一个分隔符,例如以下:
[root@nginx_back ~]# cat test.log(测试文件自己创建,内容如下)
-----------1@@@@@@@@@@2==========3
[root@nginx_back ~]# awk -F "[-@=]+" '{print $2,$3,$4}' test.log
1 2 3
方法六、[root@nginx_back ~]# ifconfig eth0|sed -n '2p'
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|sed -n '2p'|sed 's/^.*addr://g'|sed 's/B.*$//g'
192.168.0.131
方法七、[root@nginx_back ~]# grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.0.131
[root@nginx_back ~]# grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0|awk -F "=" '{print $2}'
192.168.0.131
sed练习:
[root@nginx_back ~]# ifconfig eth0|sed -n '2p'
inet addr:192.168.0.131 Bcast:192.168.0.255 Mask:255.255.255.0
[root@nginx_back ~]# ifconfig eth0|sed -nr 's#^.*dr:(.*) Bcast:(.*) M.*$#\1\2#gp'
192.168.0.131 192.168.0.255
grep线上环境精典案例后续的更多相关文章
- 使用Fabric一键批量部署上线/线上环境监控
本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他 ...
- CAS (15) — CAS 线上环境 Ehcache Replication 的非稳定重现错误 java.util.ConcurrentModificationException
CAS (15) - CAS 线上环境 Ehcache Replication 的非稳定重现错误 摘要 线上环境在 EhCache Replication 过程中出现 java.util.Concur ...
- 【微信小程序】---线上环境搭建
一.前言 通常我们在本地电脑上开发微信小程序,调用和访问小程序会有很多问题.特别是在配有自己后端的情况下,我们通过真机访问我们的小程序会出现不可访问的问题 二.线上环境搭建 在这里我们主要以腾讯云给大 ...
- robot framework 测试/预发/线上环境快捷切换
通常情况下布署的三套环境:测试.预发及线上环境.调试或者辅助验证测试时,切环境改变量甚是麻烦.这些变量包括但不限于:一些url信息,数据库信息,预置用户信息等. 切换环境方法一:使用变量文件,通过判断 ...
- 线上环境HBASE-1.2.0出现oldWALs无法自动回收情况;
正常情况下,hmaster会定期清理oldWALs文件夹,一般该文件大小也就几百兆,但是我们线上 环境出现了该文件没有自动回收情况,如图: 该目录占用hdfs空间多达7.6T,浪费空间: 后来经过多番 ...
- vue本地和线上环境(域名)配置
vue本身为运行脚手架项目自家搭载了一个nodejs后台环境,本地可通过proxyTable来处理跨域问题,但是上线(或生产环境)之后改域名真是一件麻烦的事情,所以进行一些配置. config/ind ...
- wechat开发笔记之1.线上环境搭建与测试
Wechat开发笔记 线上环境搭建: 申请一个wechat公众平台. 手机个人微信可以用webwechat来测试. Website:https://web.weixin.qq.com/ 手机客户端扫一 ...
- Vue 2.x 3.x 配置项目开发环境跟线上环境
先找到package.json (这是nuxt版的vue 可能会跟一般vue不一样 当然总体上差不多的) "scripts": { "dev": " ...
- Docker + node(koa) + nginx + mysql 线上环境部署
在上一篇 Docker + node(koa) + nginx + mysql 开发环境搭建,我们进行了本地开发环境搭建 现在我们就来开始线上环境部署 如果本地环境搭建没有什么问题,那么线上部署的配置 ...
随机推荐
- cocos2d-x引擎实现$1Unistroke Recognizer手势识别
$1 Unistroke(单笔画) Recognizer官网 http://depts.washington.edu/aimgroup/proj/dollar/ (在官网还有多笔画的识别库) 代码下载 ...
- keyStore vs trustStore--转载
原文:http://lukejin.iteye.com/blog/605634 今天有同事向我问起这两个概念,所以我就记录下.首先我们得澄清一些概念.一个web应用如果需要提供以https的方式访问的 ...
- -----------------------------SpringMVC理解-----------------------------
1.用户发送请求到前端控制器(DispatcherServlet); 2.前端控制器转发请求到处理器映射器(HandlerMapping): 3.处理器映射器将拦截的Action返回到前端控制器: 4 ...
- c++ (P262—P277) STL
STL的六大组件 容器(Container),是一种数据结构,如list,vector,和deques ,以模板类的方法提供.为了访问容器中的数据,可以使用由容器类输出的迭代器: 迭代器(Iterat ...
- iOS之Git的使用
1.登录Git账号,创建一个新的仓库
- signal函数、sigaction函数及信号集(sigemptyset,sigaddset)操作函数
信号是与一定的进程相联系的.也就是说,一个进程可以决定在进程中对哪些信号进行什 么样的处理.例如,一个进程可以忽略某些信号而只处理其他一些信号:另外,一个进程还可以选择如何处理信号.总之,这些总与特定 ...
- [转载][记录]shell 批量修改文件名
参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...
- RabbitMQ 原文译04--路由
在前一篇文章中我们构建了一个简单的日志系统,我们可以向多个接受者广播消息. 在这篇文章我,我们将要添加一些功能使得针对部分消息的接受成为可能,例如我们只对错误的消息进行磁盘记录,同时又可以把所有的消息 ...
- asp.net_MVC_jq三级联动
数据库结构 建立三张表,Association,Team,Player 关系如下: 建立asp.net MVC 3项目,在HomeController.cs中利用Linq to SQL获取数据 首先实 ...
- jQuery Easy UI 使用
一.引入必要文件 二.加载UI组件的方式 加载 UI 组件有两种方式: 1.使用 class 方式加载: 2.使用 JS 调用加载.//使用 class 加载,格式为: easyui-组件名 效果: ...