`

shell脚本学习指南笔记-3.查找与替换

 
阅读更多

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

$ cut -d / -f 1,2 /etc/passwd

 

root:x:0:0:root:/root:
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:

 

root     pts/0        2011-11-16 06:49 (192.168.1.100)

 

$ who | cut -d / -f 1

 

root     pts

 

$ ls -l | cut -c 1-10

total 16
drwxr-xr-x
-rw-r--r--
-rw-r--r--

 

cut -c list [file]

cut -f list [-d delim] [file]

 

-c list  查询每行的list所表示数据索引的数据   list如:1,10 or 1-10

-d delim   根据delim为定界符,默认为Tab

-f  list   设置list的数据段索引,根据-d  返回对应的数据

注:在centos5.4中测试,无法单独的使用-d,一定要和-f一起使用

 

 

 

 

 

JOIN的用法

 

 

quotas

 

joe    50
jane   75
herman 80
chris  95
 

 

sales

 

joe    100
jane   200
herman 150
chris  300
 
#! /bin/sh

#删除注释
sed '/^#/d' quotas | sort > quotas.sorted
sed '/^#/d' sales  | sort > sales.sorted

#连接两个文本且打印
join quotas.sorted sales.sorted

#删除缓存文件
rm quotas.sorted sales.sorted

 

 

sed的简单用法

 

#s命令,要求用正则表达式进行寻找,/为分格符,且是默认的分格符,此命令是把baidu替换为google
echo www.baidu.com | sed 's/baidu/google/'
结果:www.google.com

# ; 为分格符,这里是自定义的分格符,紧跟s后的字符,都被认为新的分格符
echo /home/tolstoy | sed 's;\(/home\)/tolstoy;\1/lt;'

# 寻找192.168.0.1开头行,且在192.168.0.1后追加localhost字符串
echo 192.168.0.1:8080 | sed 's/^192.168.0.1/&localhost/'

# 寻找192.168.0.1开头行,且在192.168.0.1替换为localhost字符串
echo 192.168.0.1:8080 | sed 's/^192.168.0.1/localhost/'

cat > template-date
192.168.0.1
what is your name?
what is this?
loveable
I love you
I like you
I need you
^d

# -n与p一起使用,将只打印已被替换的行
sed -n 's/\(love\)able/\1rs/p' template-date

# 打印第1行到第一个以I开头的行的所有行
sed -n '1,/^I/p' template-date

# 从192到I的所有行,每行结束更换为sed test,且打印
sed -n '/192/,/I/s/$/sed test/p' template-date
192.168.0.1sed test
what is your name?sed test
what is this?sed test
loveablesed test
I love yoused test
分享到:
评论

相关推荐

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    这两个强大的文本处理工具常与Shell配合使用,awk用于处理结构化的数据,sed则擅长流编辑,对文本进行查找替换等操作。 通过阅读《LINUX与UNIX SHELL编程指南》,我们可以深入了解Shell编程的精髓,提升自动化任务...

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

    自学习,Linux命令行与Shell脚本编程笔记!word版本

    这篇“自学习,Linux命令行与Shell脚本编程笔记”旨在帮助初学者掌握这两个核心技能。 首先,Linux命令行是操作系统与用户交互的主要方式之一,通过输入简单的指令,用户可以执行各种任务,如文件管理、系统监控、...

    Linux命令学习笔记

    ### Linux命令学习笔记 在本篇文章中,我们将详细介绍如何运用Linux命令来编写高效的Shell脚本。这不仅仅是一份简单的指南,而是深入探索Linux系统管理、自动化任务和脚本编写的一次旅程。文章涵盖的主要内容包括:...

    linux常用命令之bash入门指南.zip

    在Linux操作系统中,Bash(Bourne-Again SHell)是默认的命令行解释器,也是用户与系统交互的主要工具。这篇文档“linux常用命令之bash入门指南”旨在帮助初学者掌握Bash的基本用法和常用命令,从而更有效地在Linux...

    linux学习笔记(初学者可共勉)

    学习VI,你需要掌握其基本操作,如进入编辑模式,插入文本,查找替换,以及保存退出等。 此外,笔记可能还会涉及Linux系统的配置文件,如`/etc/passwd`用于用户账户信息,`/etc/group`用于用户组信息,`/etc/...

    韩顺平_一周学会linux

    6. **Shell脚本编程**:教授Bash Shell的基础语法,如变量、条件语句、循环、函数,以及编写简单脚本的能力。 7. **文本处理工具**:熟悉grep、sed、awk等强大的文本处理工具,用于数据查找、替换和格式化。 8. **...

    Linux命令大全 CHM

    8. **脚本编程**:bash(Bourne-Again SHell)是Linux中最常用的Shell,它支持编写shell脚本,通过编写自动化脚本可以实现复杂的任务执行。 以上只是《Linux命令大全 CHM》中部分关键知识点的概述,实际上,这份...

Global site tag (gtag.js) - Google Analytics