今天粘贴的是linux命令之 文件编辑
 
 

9 文档编辑
9.1 col
功能说明:过滤控制字符。
语  法:col [-bfx][-l<缓冲区列数>]
补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
参  数:
  -b   过滤掉所有的控制字符,包括RLF和HRLF。
  -f   滤除RLF字符,但允许将HRLF字符呈现出来。
  -x   以多个空格字符来表示跳格字符。
  -l<缓冲区列数>   预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
9.2 colrm(column remove)
功能说明:滤掉指定的行。
语  法:colrm [开始行数编号<结束行数编号>]
补充说明:colrm指令从标准输入设备读取书记,转而输出到标准输出设备。如果不加任何参数,则该指令不会过滤任何一行。
9.3 comm(common)
功能说明:比较两个已排过序的文件。
语  法:comm [-123][--help][--version][第1个文件][第2个文件]
补充说明:这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。
参  数:
  -1   不显示只在第1个文件里出现过的列。
  -2   不显示只在第2个文件里出现过的列。
  -3   不显示只在第1和第2个文件里出现过的列。
  --help   在线帮助。
  --version   显示版本信息。
9.4 csplit(context split)
功能说明:分割文件。
语  法:csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>][-n<输出文件名位数>][--help][--version][文件][范本样式...]
补充说明:将文件依照指定的范本样式予以切割后,分别保存成名称为xx00,xx01,xx02...的文件。若给予的文件名称为"-",则csplit指令会从标准输入设备读取数据。
参  数:
  -b<输出格式>或--suffix-format=<输出格式>   预设的输出格式其文件名称为xx00,xx01...等,您可以通过改变<输出格式>来改变输出的文件名。
  -f<输出字首字符串>或--prefix=<输出字首字符串>   预设的输出字首字符串其文件名为xx00,xx01...等,如果你指定输出字首字符串为"hello",则输出的文件名称会变成hello00,hello01...等。
  -k或--keep-files   保留文件,就算发生错误或中断执行,也不能删除已经输出保存的文件。
  -n<输出文件名位数>或--digits=<输出文件名位数>   预设的输出文件名位数其文件名称为xx00,xx01...等,如果你指定输出文件名位数为"3",则输出的文件名称会变成xx000,xx001...等。
  -q或-s或--quiet或--silent   不显示指令执行过程。
  -z或--elide-empty-files   删除长度为0 Byte文件。
  --help   在线帮助。
  --version   显示版本信息。
9.5 ed(editor)
功能说明:文本编辑器。
语  法:ed [-][-Gs][-p<字符串>][--help][--version][文件]
补充说明:ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。
参  数:
  -G或--traditional   提供回兼容的功能。
  -p<字符串>   指定ed在command mode的提示字符。
  -s,-,--quiet或--silent   不执行开启文件时的检查功能。
  --help   显示帮助。
  --version   显示版本信息。
9.6 egrep
功能说明:在文件内查找指定的字符串。egrep执行效果如grep -E,使用的语法及参数可参照grep指令,与grep不同点在于解读字符串的方法,egrep是用extended regular expression语法来解读,而grep则用basic regular expression语法,extended regular expression比basic regular expression有更完整的表达规范。
9.7 ex
功能说明:在Ex模式下启动vim文本编辑器。ex执行效果如同vi -E,使用语法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入:vi或:visual即可。
9.8 fgrep(fixed regexp)
功能说明:查找文件里符合条件的字符串。
语  法:fgrep [范本样式][文件或目录...]
补充说明:本指令相当于执行grep指令加上参数"-F",详见grep指令说明。
9.9 fmt(fromat)
功能说明:编排文本文件。
语  法:fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]
补充说明:fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。
参  数:
  -c或--crown-margin   每段前两列缩排。
  -p<列起始字符串>或-prefix=<列起始字符串>   仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
  -s或--split-only   只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
  -t或--tagged-paragraph   每列前两列缩排,但第1列和第2列的缩排格式不同。
  -u或--uniform-spacing   每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
  -w<每列字符数>或--width=<每列字符数>或-<每列字符数>   设置每列的最大字符数。
  --help   在线帮助。
  --version   显示版本信息。
9.10 fold
功能说明:限制文件列宽。
语  法:fold [-bs][-w<每列行数>][--help][--version][文件...]
补充说明:fold指令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。若不指定任何文件名称,或是所给予的文件名为“-”,则fold指令会从标准输入设备读取数据。
参  数:
  -b或--bytes   以Byte为单位计算列宽,而非采用行数编号为单位。
  -s或--spaces   以空格字符作为换列点。
  -w<每列行数>或--width<每列行数>   设置每列的最大行数。
  --help   在线帮助。
  --version   显示版本信息。
9.11 grep
功能说明:查找文件里符合条件的字符串。
语  法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
补充说明:grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
参  数:
  -a或--text   不要忽略二进制的数据。
  -A<显示列数>或--after-context=<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之后的内容。
  -b或--byte-offset   在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
  -B<显示列数>或--before-context=<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之前的内容。
  -c或--count   计算符合范本样式的列数。
  -C<显示列数>或--context=<显示列数>或-<显示列数>   除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
  -d<进行动作>或--directories=<进行动作>   当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  -e<范本样式>或--regexp=<范本样式>   指定字符串做为查找文件内容的范本样式。
  -E或--extended-regexp   将范本样式为延伸的普通表示法来使用。
  -f<范本文件>或--file=<范本文件>   指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
  -F或--fixed-regexp   将范本样式视为固定字符串的列表。
  -G或--basic-regexp   将范本样式视为普通的表示法来使用。
  -h或--no-filename   在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
  -H或--with-filename   在显示符合范本样式的那一列之前,表示该列所属的文件名称。
  -i或--ignore-case   忽略字符大小写的差别。
  -l或--file-with-matches   列出文件内容符合指定的范本样式的文件名称。
  -L或--files-without-match   列出文件内容不符合指定的范本样式的文件名称。
  -n或--line-number   在显示符合范本样式的那一列之前,标示出该列的列数编号。
  -q或--quiet或--silent   不显示任何信息。
  -r或--recursive   此参数的效果和指定“-d recurse”参数相同。
  -s或--no-messages   不显示错误信息。
  -v或--revert-match   反转查找。
  -V或--version   显示版本信息。
  -w或--word-regexp   只显示全字符合的列。
  -x或--line-regexp   只显示全列符合的列。
  -y   此参数的效果和指定“-i”参数相同。
  --help   在线帮助。
9.12 ispell(interactive spelling checking)
功能说明:拼字检查程序。
语  法:ispell [-aAbBClmMnNPStVx][-d<字典文件>][-L<行数>][-p<字典文件>][-w<非字母字符>][-W<字符串长度>][要检查的文件]
补充说明:ispell预设会使用/usr/lib/ispell/english.hash字典文件来检查文本文件。若在检查的文件中找到字典没有的词汇,ispell会建议使用的词汇,或是让你将新的词汇加入个人字典。
参  数:
  -a   当其他程序输出送到ispell时,必须使用此参数。
  -A   读取到"&Include File&"字符串时,就去检查字符串后所指定文件的内容。
  -b   产生备份文件,文件名为.bak。
  -B   检查连字错误。
  -C   不检查连字错误。
  -d<字典文件>   指定字典文件。
  -l   从标准输入设备读取字符串,结束后显示拼错的词汇。
  -L<行数>   指定内文显示的行数。
  -m   自动考虑字尾的变化。
  -M   进入ispell后,在画面下方显示指令的按键。
  -n   检查的文件为noff或troff的格式。
  -N   进入ispell后,在画面下方不显示指令的按键。
  -p<字典文件>   指定个人字典文件。
  -P   不考虑字尾变化的情形。
  -S   不排序建议取代的词汇。
  -t   检查的文件为TeX或LaTeX的格式。
  -V   非ANSI标准的字符会以"M-^"的方式来显示。
  -w<非字母字符>   检查时,特别挑出含有指定的字符。
  -W<字符串长度>   不检查指定长度的词汇。
  -x   不要产生备份文件。
9.13 jed
功能说明:编辑文本文件。
语  法:jed [-2n][-batch][-f<函数>][-g<行数>][-i<文件>][-I<文件>][-s<字符串>][文件]
补充说明:Jed是以Slang所写成的程序,适合用来编辑程序原始代码。
参  数:
  -2   显示上下两个编辑区。
  -batch   以批处理模式来执行。
  -f<函数>   执行Slang函数。
  -g<行数>   移到缓冲区中指定的行数。
  -i<文件>   将指定的文件载入缓冲区。
  -i<文件>   载入Slang原始代码文件。
  -n   不要载入jed.rc配置文件。
  -s<字符串>   查找并移到指定的字符串。
9.14 joe
功能说明:编辑文本文件。
语  法:joe [-asis][-beep][-csmode][-dopadding][-exask][-force][-help][-keepup][-lightoff][-arking][-mid][-nobackups][-nonotice][-nosta][-noxon][-orphan][-backpath<目录>][-columns<栏位>][-lines<行数>][-pg<行数>][-skiptop<行数>][-autoindent crlf linums overwrite rdonly wordwrap][+<行数>][-indentc<缩排字符>][-istep<缩排字符数>][-keymap<按键配置文件>][-lmargin<栏数>][-rmargin<栏数>][-tab<栏数>][要编辑的文件]
补充说明:Joe是一个功能强大的全屏幕文本编辑程序。操作的复杂度要比Pico高一点,但是功能较为齐全。Joe一次可开启多个文件,每个文件各放在一个编辑区内,并可在文件之间执行剪贴的动作。
参  数:
以下为程序参数
  -asis   字符码超过127的字符不做任何处理。
  -backpath<目录>   指定备份文件的目录。
  -beep   编辑时,若有错误即发出哗声。
  -columns<栏位>   设置栏数。
  -csmode   可执行连续查找模式。
  -dopadding   是程序跟tty间存在缓冲区。
  -exask   在程序中,执行"Ctrl+k+x"时,会先确认是否要保存文件。
  -force   强制在最后一行的结尾处加上换行符号。
  -help   执行程序时一并显示帮助。
  -keepup   在进入程序后,画面上方为状态列。
  -lightoff   选取的区块在执行完区块命令后,就会回复成原来的状态。
  -lines<行数>   设置行数。
  -marking   在选取区块时,反白区块会随着光标移动。
  -mid   当光标移出画面时,即自动卷页,使光标回到中央。
  -nobackups   不建立备份文件。
  -nonotice   程序执行时,不显示版权信息。
  -nosta   程序执行时,不显示状态列。
  -noxon   尝试取消“Ctrl+s”与“Ctrl+q”键的功能。
  -orphan   若同时开启一个以上的文件,则其他文件会置于独立的缓冲区,而不会另外开启编辑区。
  -pg<行数>   按“PageUp”或“PageDown”换页时,所要保留前一页的行数。
  -skiptop<行数>   不使用屏幕上方指定的行数。
以下为文件参数
  +<行数>   指定开启文件时,光标所在的行数。
  -autoindent   自动缩排。
  -crlf   在换行时,使用CR-LF字符。
  -indentc<缩排字符>   执行缩排时,实际插入的字符。
  -istep<缩排字符数>   每次执行缩排时,所移动的缩排字符数。
  -keymap<按键配置文件>   使用不同的按键配置文件。
  -linums   在每行前面加上行号。
  -lmargin<栏数>   设置左侧边界。
  -overwrite   设置覆盖模式。
  -rmargin<栏数>   设置右侧边界。
  -tab<栏数>   设置tab的宽度。
  -rdonly   以只读的方式开启文件-wordwrap编辑时若超过右侧边界,则自动换行。
9.15 join
功能说明:将两个文件中,指定栏位内容相同的行连接起来。
语  法:join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help][--version][文件1][文件2]
补充说明:找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。
参  数:
  -a<1或2>   除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
  -e<字符串>   若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
  -i或--igore-case   比较栏位内容时,忽略大小写的差异。
  -o<格式>   按照指定的格式来显示结果。
  -t<字符>   使用栏位的分隔字符。
  -v<1或2>   跟-a相同,但是只显示文件中没有相同栏位的行。
  -1<栏位>   连接[文件1]指定的栏位。
  -2<栏位>   连接[文件2]指定的栏位。
  --help   显示帮助。
  --version   显示版本信息。
9.16 look
功能说明:查询单字。
语  法:look [-adf][-t<字尾字符串>][字首字符串][字典文件]
补充说明:look指令用于英文单字的查询。您仅需给予它欲查询的字首字符串,它会显示所有开头字符串符合该条件的单字。
参  数:
  -a   使用另一个字典文件web2,该文件也位于/usr/dict目录下。
  -d   只对比英文字母和数字,其余一慨忽略不予比对。
  -f   忽略字符大小写差别。
  -t<字尾字符串>   设置字尾字符串。
9.17 mtype
功能说明:显示MS-DOS文件的内容。
语  法:mtype [-st][文件]
补充说明:mtype为mtools工具指令,模拟MS-DOS的type指令,可显示MS-DOS文件的内容。
参  数:
  -s   去除8位字符码集的第一个位,使它兼容于7位的ASCII。
  -t   将MS-DOS文本文件中的“换行+光标移至行首”字符转换成Linux的换行字符。
9.18 pico
功能说明:编辑文字文件。
语  法:pico [-bdefghjkmqtvwxz][-n<间隔秒数>][-o<工作目录>][-r<编辑页宽>][-s<拼字检查器>][+<列数编号>][文件]
补充说明:pico是个简单易用、以显示导向为主的文字编辑程序,它伴随着处理电子邮件和新闻组的程序pine而来。
参  数:
  -b   开启置换的功能。
  -d   开启删除的功能。
  -e   使用完整的文件名称。
  -f   支持键盘上的F1、F2...等功能键。
  -g   显示光标。
  -h   在线帮助。
  -j   开启切换的功能。
  -k   预设pico在使用剪下命令时,会把光标所在的列的内容全部删除。
  -m   开启鼠标支持的功能,您可用鼠标点选命令列表。
  -n<间隔秒数>   设置多久检查一次新邮件。
  -o<工作目录>   设置工作目录。
  -q   忽略预设值。
  -r<编辑页宽>   设置编辑文件的页宽。
  -s<拼字检查器>   另外指定拼字检查器。
  -t   启动工具模式。
  -v   启动阅读模式,用户只能观看,无法编辑文件的内容。
  -w   关闭自动换行,通过这个参数可以编辑内容很长的列。
  -x   关闭换面下方的命令列表。
  -z   让pico可被Ctrl+z中断,暂存在后台作业里。
  +<列数编号>   执行pico指令进入编辑模式时,从指定的列数开始编辑。
9.19 rgrep(recursive grep)
功能说明:递归查找文件里符合条件的字符串。
语  法:rgrep [-?BcDFhHilnNrv][-R<范本样式>][-W<列长度>][-x<扩展名>][--help][--version][范本样式][文件或目录...]
补充说明:rgrep指令的功能和grep指令类似,可查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设rgrep指令会把含有范本样式的那一列显示出来。
参  数:
  -?   显示范本样式与范例的说明。
  -B   忽略二进制的数据。
  -c   计算符合范本样式的列数。
  -D   排错模式,只列出指令搜寻的目录清单,而不会读取文件内容。
  -F   当遇到符号连接时,rgrep预设是忽略不予处理,加上本参数后,rgrep指令就会读取该连接所指向的原始文件的内容。
  -h   特别将符合范本样式的字符串标示出来。
  -H   只列出符合范本样式的字符串,而非显示整列的内容。
  -i   忽略字符大小写的差别。
  -l   列出文件内容符合指定的范本样式的文件名称。
  -n   在显示符合坊本样式的那一列之前,标示出该列的列数编号。
  -N   不要递归处理。
  -r   递归处理,将指定目录下的所有文件及子目录一并处理。
  -R<范本样式>   此参数的效果和指定“-r”参数类似,但只主力符合范本样式文件名称的文件。
  -v   反转查找。
  -W<列长度>   限制符合范本样式的字符串所在列,必须拥有的字符数。
  -x<扩展名>   只处理符合指定扩展名的文件名称的文件。
  --help   在线帮助。
  --version   显示版本信息。
9.20 sed(stream editor)
功能说明:利用script来处理文本文件。
语  法:sed [-hnV][-e<script>][-f<script文件>][文本文件]
补充说明:sed可依照script的指令,来处理、编辑文本文件。
参  数:
  -e<script>或--expression=<script>   以选项中指定的script来处理输入的文本文件。
  -f<script文件>或--file=<script文件>  以选项中指定的script文件来处理输入的文本文件。
  -h或--help   显示帮助。
  -n或--quiet或--silent   仅显示script处理后的结果。
  -V或--version   显示版本信息。
9.21 sort
功能说明:将文本文件内容加以排序。
语  法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参  数:
  -b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  -f   排序时,将小写字母视为大写字母。
  -i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  -m   将几个排序好的文件进行合并。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o<输出文件>   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t<分隔字符>   指定排序时所用的栏位分隔字符。
  +<起始栏位>-<结束栏位>   以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  --help   显示帮助。
  --version   显示版本信息。
9.22 spell
功能说明:拼字检查程序。
语  法:spell
补充说明:spell可从标准输入设备读取字符串,结束后显示拼错的词汇。
9.23 tr(translate character)
功能说明:转换字符。
语  法:tr [-cdst][--help][--version][第一字符集][第二字符集]
补充说明:tr指令从标准输入设备读取数据,经过字符串转译后,输出到标准输出设备。
参  数:
  -c或--complerment   取代所有不属于第一字符集的字符。
  -d或--delete   删除所有属于第一字符集的字符。
  -s或--squeeze-repeats   把连续重复的字符以单独一个字符表示。
  -t或--truncate-set1   先删除第一字符集较第二字符集多出的字符。
  --help   在线帮助。
  --version   显示版本信息。
9.24 uniq
功能说明:检查及删除文本文件中重复出现的行列。
语  法:uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
补充说明:uniq可检查文本文件中重复出现的行列。
参  数:
  -c或--count   在每列旁边显示该行重复出现的次数。
  -d或--repeated   仅显示重复出现的行列。
  -f<栏位>或--skip-fields=<栏位>   忽略比较指定的栏位。
  -s<字符位置>或--skip-chars=<字符位置>   忽略比较指定的字符。
  -u或--unique   仅显示出一次的行列。
  -w<字符位置>或--check-chars=<字符位置>   指定要比较的字符。
  --help   显示帮助。
  --version   显示版本信息。
  [输入文件]   指定已排序好的文本文件。
  [输出文件]   指定输出的文件。
9.25 wc(word count)
功能说明:计算字数。
语  法:wc [-clw][--help][--version][文件...]
补充说明:利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
参  数:
  -c或--bytes或--chars   只显示Bytes数。
  -l或--lines   只显示列数。
  -w或--words   只显示字数。
  --help   在线帮助。
  --version   显示版本信息。