- 浏览: 497269 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (185)
- job (15)
- linux/windows/unix/bash/shell (31)
- JAVA/J2EE/spring/hibernate/struts (30)
- VC/C++ (48)
- mysql/postgresql (6)
- php/jsp/asp/pear (1)
- FMS/flex/openlaszlo/red5/openmeetings (34)
- apache/tomcat/ftp/svn (6)
- xen/vm/Hadoop/cloudcompute (6)
- visual studio/eclipse/zendstudi/ant (8)
- others (1)
- windows异常处理 __try __except (1)
- (1)
- matlab (4)
- android (0)
最新评论
-
hongzhounlfd:
很透彻,很详细
依赖注入和控制反转 -
jefferyqjy:
谢谢~言简意赅~很明了!
依赖注入和控制反转 -
elderbrother:
太好了,谢谢
依赖注入和控制反转 -
east_zyd_zhao:
终于搞明白了
依赖注入和控制反转 -
Dremeng:
完美,一看就懂理解透彻
依赖注入和控制反转
shell
如何读取一个文件的第一行记录???
head -1 urfile
sed 'q' urfile
awk '{print;exit}' urfile
有两天没有寫自己的博客了,本来决定要每天坚持写,看来自己有时就是太懒了,总是会找借口不写了,今天很累明天再写吧,结果明天也没写,明天我一定写两 篇,可是最后一篇都没写。也许这就是人之所以的人之惰性吧,我天生可能就是有一种惰性,很多事情都不是太会去主动做,这是不好而且可能是致命的缺点,所以 决定了还是应该尽量去克服这个缺点,当然如果中间我确实有几天没写,如果不小心耽误了您搜索代码,对不起了,您可千万不要用砖头来拍我,因为现在的砖头不 结实,拍死还好,拍不死可就傻了,那时郁闷也无奈了,呵呵。
言规正传昨天公司的mary请我帮忙想一下如何去修改一个再linux下的XML文档,如果使用c语言,那当然可以了使用一个对搜索位置的函数通过指针传 递来实现,这个恐怕要好好的想一想,自己的c语言也不是那么的好了,对内存操作n年了总是不能很好的解决,无奈之下女生求助,是绅士的总是要帮一把了您说 对吧,所以没有办法了只要去试试看了,我打算使用shell脚本去实现。
通过搜集一些资料和自己先前对一些shell脚本的编写,我突然想到来对XML文件进行读取,然后根据cut指令获找到想要的替换,然后之行vi指令中的字符串处理命令来实现。这个方法肯定行了。现在我就把代码贴出来,共享一直是我追求的理念。共享共享。
#!/bin/sh
DIR="tvdevicedesc.xml"
CONF_DIR1="upnp_name.conf"
#cat ${CONF_DIR}
var=`cat ${DIR} | grep "<friendlyName>"`
temp=`echo $var | cut -f2 -d' '`
tt=`echo $temp | cut -f2 -d'>' | tr -d "</friendlyName>"`
echo $tt
temp2=`cat ${CONF_DIR1}`
echo $temp2
vi ${DIR} <<-!
:g/$temp/s//$temp2/g
:wq
!
这就是我写点代码了,这个脚本代码多了一些无用的东西,因为我是要再脚本中查看是不是修改了我需要修改的字符串了所以加入了前面的很多代码其实就三句就可以实现了。
vi ${DIR} <<-!
:g/$temp/s//$temp2/g
:wq
!
前面的都是用来对结果的显示的。当然这个shell是运行再linux下装有vim编辑工具的,如果没有这个工具那么我这个脚本就作废了,如果您看了请注意这个地方。
下面是一个写道公司削减内核下的linux的shell脚本,由于削减内核中内存的存贮有限一般的应用软件都没有装载所以我只好使用些常用的shell语言命令了,代码如下:
#!/bin/sh
DIR="tvdevicedesc.xml"
CONF_DIR1="upnp_name.conf"
#cat ${CONF_DIR}
var=`cat ${DIR} | grep "<friendlyName>"`
temp=`echo $var | cut -f2 -d' '`
tt=`echo $temp | cut -f2 -d'>' | tr -d "</friendlyName>"`
echo $tt
temp2=`cat ${CONF_DIR1}`
echo $temp2
sed 's/'$tt'/'$temp2'/g' tvdevicedesc.xml >tvdevicedesc.xml
这
里使用到了sed指令,这个指令我从网上了解到好像是对流进行操作的,他的功能是比较强大的,有些参数我没有做过尝试,如果您做过了记得给我留言,燕过留
声 ,人过留名嘛,先谢谢了。对于这个脚本我有点说明,可能是有于tvdevicedesc.xml
存在如果你想把修改后的在写入tvdevicedesc.xml
文件那么文件会变成空。但是如果写成别的文件名字那就没有问题。这个可能就是对数据流操作的先后顺序,因为我不是太明白,这只是我一点点的猜想,如果您知
道什么原因我就不重复了 共享吧 呵呵
最近做一个数据迁移的项目,其中需要替换原来文本
中的一些东西,为了简便当然是写脚本
啦!
可是发现一个小问题,就是在出现$字符
(美元字符)和单引号连接的时候,无法用转移字符\+普通的sed
-i 's/old/new/g' file
name来替换
举个例子:
[root
@localhost ~]# touch test
[root@localhost ~]#vi test
写入'$aaa' 记住是单引号和$aaa哦
[root@localhost ~]# cat test
'$aaa'
[root@localhost ~]# sed -i 's/\'\$aaa\'/bbb/g' test
>
(提示
要我继续输入???看来是出错了)
[root@localhost ~]# sed -i "s/\'\$aaa\'/bbb/g" test
[root@localhost ~]# cat test
'$aaa'
(内容居然没变,后来经过隋老师大神的指导,终于发现以下方法可以一次性解决
问题)
[root@localhost ~]# sed -i.bak -r "s/[[:punct:]]+aaa[[:punct:]]/bbb/g" test
bbb
[root@localhost ~]# cat test
bbb
我擦,成功了,信老师得成功
当然,还有另一种解决办法,就是替换两次(这可是本人想到的哦)
这个方法大家应该都会就是先
sed -i 's/\$//g' test
再
sed -i "s/\'aaa\'/bbb/g" (记住此处要用双引号引起)
成功了╮(╯▽╰)╭但是比起老师的一步到位还差的很远呀
替换特殊字符时,要在特殊字符前加\,如要将agent.ini中的test替换为/database: sed -i 's/test/\/database/' agent.ini
要使用变量替原来的字符: sed 's/222/'$user_name'/g' file.txt (使用$user_name替换222)
发表评论
-
视频:中国首届微博开发者大会杨卫华演讲
2011-09-06 13:40 1135微博平台首席架构师杨卫华演讲 新浪科技讯 11月16日下午消 ... -
Windows Mobile与Android应用开发对比
2011-09-06 11:44 1291Windows Mobile在经历过最初的Wince系列,po ... -
android 调用C++的so
2011-07-08 18:36 4391第一步:开发环境的安 ... -
CentOS环境下opensuse虚拟机的创建
2011-02-24 09:41 1394CentOS环境下opensuse虚拟机的创建 1. ... -
unix下C编程
2011-02-21 16:44 1039http://www.chinaunix.net/jh/23/ ... -
linux操作系统下c语言编程入门<unix操作系统下同样适用>——Linux程序设计入门--消息管理
2011-02-21 16:40 1060[color=blue]6)Linux程序设计入门--消息管理 ... -
linux操作系统下c语言编程入门<unix操作系统下同样适用>——Linux程序设计入门--信号处理
2011-02-21 16:39 1264[color=blue]5)Linux程序设计入门--信号处理 ... -
linux操作系统下c语言编程入门<unix操作系统下同样适用>——Linux程序设计入门--时间概念
2011-02-21 16:38 1105[color=blue]4)程序设计入 ... -
linux操作系统下c语言编程入门<unix操作系统下同样适用>——Linux程序设计入门--文件操作
2011-02-21 14:48 968[color=blue]3)Linux程序设计入门--文件操作 ... -
linux操作系统下c语言编程入门<unix操作系统下同样适用>——Linux程序设计入门--进程介绍
2011-02-21 14:43 1250[color=blue]2)Linux程序设计 ... -
linux操作系统下c语言编程入门<unix操作系统下同样适用>——Linux程序设计入门--基础知识
2011-02-21 14:17 1453<! ... -
为什么在操作系统中引入虚拟技术呢
2010-12-21 23:17 1407通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个用户进程同 ... -
虚拟设备和 Open Virtualization Format
2010-12-21 23:15 1269虚拟设备和 Open Virtualization Forma ... -
如何用puttygen由pem生成ppk
2010-11-09 13:48 209901. 概述 因为内存3GB的限制在自己的笔记本电脑上通常不能 ... -
linux开机启动服务进程
2010-11-04 21:30 16451)redhat的启动方式和执 ... -
linux开机启动过程
2010-11-04 21:28 1318一.BIOS 加电自检 当你按电源开关开机时,电脑会首先 ... -
(原创)自动扫描局域网并且发现指定端口开放的主机ip的shell脚本
2010-11-04 21:10 6573经过2天研究,学习shell和awk脚本,得到如下功能: 1 ... -
AWK命令详解(大全)
2010-11-03 21:25 1894什么是awk? 你可能对UNIX比较熟悉,但你可能对aw ... -
使用 awk 处理 nmap 扫描结果,求出存活主机IP
2010-11-03 21:22 3708在使用 nmap 扫描时,得到如下结果: ... -
awk基础
2010-11-03 21:21 1260awk语言 最基本功能是在文件或字符串中基于指定规则浏览和抽 ...
相关推荐
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
**Shell脚本学习指南** Shell脚本是Linux和Unix系统中的强大工具,它允许用户通过编写脚本来自动化一系列命令操作,极大地提高了系统管理和任务执行的效率。本文将深入探讨shell脚本的基础知识,包括语法、变量、...
### Shell脚本学习指南知识点详解 #### 一、Shell脚本概述 - **定义与作用**:Shell脚本是用于Unix/Linux系统中的自动化任务的一种编程语言。它通过一系列的命令来实现对系统的控制和管理,可以极大地提高工作效率...
**Shell脚本学习指南** Shell脚本是一种在Unix/Linux操作系统中使用的编程语言,它允许用户通过命令行界面执行一系列操作,实现自动化任务处理。作为学习Shell脚本的指南,这本书籍旨在帮助读者深入理解Shell脚本...
Shell脚本本质上就是一系列的Shell命令,它们被写入到一个文本文件中,然后通过执行这个文件来运行这些命令。在“Shell脚本学习指南”中,你可能会学到以下内容: 1. **基础语法**:包括变量定义、赋值、环境变量、...
以下是对"shell脚本学习指南-中文版"的详细知识点解析: 1. **Shell简介**:Shell是操作系统提供的一个用户界面,它允许用户输入命令并执行系统调用。常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh、Ksh和Zsh...
Shell脚本是由一系列Shell命令组成的文本文件,这些命令可以按顺序执行,也可以包含条件语句、循环结构和函数,实现复杂的任务自动化。通过学习Shell脚本,你可以创建自定义的工具,如备份脚本、日志分析脚本等,...
**SHELL脚本学习指南** 在信息技术领域,Shell脚本是一种强大的工具,尤其在Linux和Unix系统中,它被广泛用于自动化日常任务、系统管理以及软件部署。本指南将深入探讨Shell脚本的基础和高级概念,帮助你充分利用这...
在“Shell脚本学习教程PDF版”中,你将深入理解Shell脚本的基本概念、语法结构以及高级特性。 首先,Shell脚本的基础包括变量、条件语句、循环结构和函数。变量是存储数据的地方,可以是文本、数字或者其他类型。在...
**Shell命令学习资料** 在IT领域,Shell命令是操作系统与用户交互的重要工具,尤其是对于Linux和Unix系统。本文将深入探讨Shell命令的学习资料,帮助读者掌握这一基础且强大的技能。 首先,Shell是一种命令行解释...
本压缩包“shell脚本学习”提供了丰富的资源,帮助你深入理解并掌握Linux Shell脚本编程。下面将详细介绍相关的知识点。 首先,Linux Shell是操作系统与用户交互的界面,它提供了命令解释器的功能,使得用户可以...
《Shell脚本学习手册》 Shell,是Linux系统中的一种命令语言和程序设计语言,它由C语言编写,作为用户与操作系统内核交互的桥梁。Shell不仅提供了命令行接口,还允许用户编写脚本程序,实现自动化任务处理。本文将...
4. **Shell命令**:学习和掌握常用的Linux命令,如ls(列出目录内容),cd(切换目录),mkdir(创建目录),rm(删除文件或目录),cp(复制文件或目录),mv(移动或重命名文件或目录),echo(打印输出),cat...
这份"Linux Shell脚本学习文档"是针对初学者的一份详细教程,旨在帮助读者快速理解和掌握Bash Shell脚本的基本概念和用法。 首先,让我们从基础开始。在Shell脚本中,每一行都是一个命令或指令,可以执行诸如创建、...
这份"shell脚本学习资料"涵盖了使用Shell脚本进行系统管理、文件操作以及数据处理的核心概念。下面我们将深入探讨sed和awk这两个在Shell脚本中常用的命令。 **sed(Stream Editor)** sed是一种流编辑器,它能够...
### 基本的Shell脚本学习资料 #### 一、引言 Shell脚本作为Linux系统管理的重要组成部分,对于成为一名合格的系统管理员至关重要。在Linux环境下,掌握基础的Shell命令不仅能提高工作效率,还能帮助更好地理解和...