NO.6 ​采用命令行修改文件

命令行修改文件

主要命令有:

************diff 命令**************************

用于比较两个文件的内容在企业中主要用于文件打补丁

-c 参数     显示上下文周围的行

-u 参数     使用统一输出格式

-r 参数      从指定的目录开始文件执行递归比较  

**********patch 命令************************

patch 采用补丁文件 patchfile ( 包含由 diff 生成的差异列表 ) 并将这
些差异应用于生成补丁版的一个或多个原始文件。通常 , 补丁版替换原
始文件 , 但当指定 -b 选项时 , 可以制作备份。将用 .orig 文件名后缀
重命名原始文件
patch 可用于将简单的补丁文件应用于使用以下语法的单个文件
– [root@host etc]# patch issue patchfile
                              patching file issue
以下命令显示如何使用通过 diff -Naur 创建的补丁文件。用户更改为
与从中创建补丁文件的原始目录相似的可比较目录后 , 将执行 patch
patch -b < /tmp/patchfile
patching file hosts
patching file network

**************grep 命令************************************

显示文件中与模式匹配的行 也可以用 管道符 处理标准输入,也可以包含正则表达式

-i  参数    搜索不分大小写

-n 参数    前置返回iu行的行号

-r 参数     对文件执行递归搜粟,从命名目录开始

-c 参数     显示具有匹配模式的行的计数

-v 参数     返回不包括模式的行

***************cut 命令******************************************

用于 “剪贴” 文件中的文本字段或列 并且显示到标准输出

-d 参数    指定用于提取字段的分隔符 【默认为Tab】

-f  参数    指定要从每行中提取的字段

-c 参数     指定要从每行中提取的文本列

***************sort 命令***********************************************

用于排序文本数据,该数据可以在文件中或者其他命令中输出。通常与 管道符 一起使用

-n 参数      安数值排序

-k 参数       设置排序字段

-t 参数        指定其他字段为分隔符   【默认为空格】

***************uniq 命令***********************************************

删除显示文件中重复的 “相邻” 行

-u 参数       显示唯一行

-d 参数       显示重复行

-c 参数       每行显示一次(包括计数)

*******************tr 命令*****************************************************

用于转换字符

例如: tr '  A-Z '   ' a-z '  < file

********************sed 命令 **********************************************

数据流编辑器  用于对文本数据流进行编辑 实际上并不修改文件



CHANGE.EXE 是一个以命令行方式处理对文件修改工具,目标文件可以是任意大小任意格式。可以一次执行30条命令!非常地高效。 一、基本格式: change 源文件.txt /from “被替换的串” /to “替换串” /in “条件” 二、已知限制是它不支持长名,可能不认识一些windows下的特殊字符作文件名。对此,解决之道是以短文件名访问(例如:myfile~1.txt)。 三、详细功能列表: ⒈處理的文件不限大小,前提是磁盤上至少要有与目标文件等大的预留空间,用于临时存放其副本; ⒉不仅处理文本文件,也处理二进制文件; ⒊替入和换出的字符串长度可以不同; ⒋可以指定替换行为只在特定行发生,特定行的标志是有另一个指定的字符(串)出现,这个字符串还允许大小写敏感; ⒌可以同时执行多达30个修改指令; ⒍支持子目录; ⒎兼容dos/Unix/Mac 文本格式; ⒏输入输出字符串可以是文本的(Ascii),也可以是十六进制值或十进制值; ⒐替换速的特快; ⒑具有备份选项,以防源文件可能损坏; ⒒替换工作可以交互式进行(控制台); ⒓除命令行、控制台它还允许把多条指令组合编制为一个控制文件一次执行; ⒔可以使用布尔变量; ⒕源文件名支持通配符; ⒖"*"用在指定的被修改字符串时,表示由当前位置到行尾的整个子串; ⒗在指定目标字符串时,可以设定“列”,仅当字符位于此范围内时才发生替换; ⒘可以按文件属性排除某个文件不被处理; ⒙可以排除某些行不处理; ⒚按ESC可以中止处理进程。 ⒛ 四、如何指定参数 当程序运行时,它将以如下三种方式读取参数: ⒈INI文件 ⒉系统环境变量 ⒊命令行 先看最常用的命令行语法。 To/From/In规范: FROM 被替换的文字 TO 用于替换的文字 TO (可选)指定发生替换行为的特定行标志 举例,设test.txt文件包含如下两行: The quick brown fox jumped over the lazy brown dog. 我们输入: change /from brown /to red /fox 则文件变为: The quick red fox jumped over the lazy brown dog. 即:有出现"fox"的那行"brown:被替换为"red",其它行不变。 如果所指定字符串包含空格或其他特殊字符,请用双引号,比如: CHANGE test.TXT /FROM "my music" /TO "my video" 或者用十六进制字符处理特殊字符,如: CHANGE test.TXT /FROM &H0D0A0D0A /TO &H0D0A (删除多余的行) 设定列宽的例子: change test.txt /from ok 5/10 /to no 只替换从第5列到第10列的ok 为 no,这个功能是按首字符认定位置的,比如有一个“ok”位于4,5列那么它不会被替换。 仅删除的例子: change test.txt /from no /to null (即:删除所有的no) 如果要忽略英文字母的大小写,使用参数 /I 与DOS类似,可以用参数 /s 处理所有子目录中文件的替换工作 替换指定行的例子: change test.txt /from no /to re /lines 3-8 30-50 (即:只替换3到8行和30到50行的字符) 出于安全目的,该程序总要自动生成一个临时文件备份源文件,如果用 /N文件名 参数另指定一个输出文件,则没有临时文件输出。 要消除文件末尾多余的空格,可以用参数 /trim 使用布尔变量的例子: CHANGE TEST.TXT /FROM Apple /TO Banana /IN (red OR brown) AND NOT Pear 将替换apple为banana,但所在行必须有red或brown出现,并且没有Pear出现 本程序的返回误码意义: 0 无错,有修改 1 无错,无修改 253 提前中止 254 内部错误 255 语法错 件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值