目录
实训1:vim编辑器的应用
(1)在当前目录中,通过vi(m)命令新建wol文件。
(2)进入vi编辑器后,通过按字母i进入insert模式。输人一行文字“I am a student!"。
(3)按ESC.退回命令模式,输人“: wq",保存退出。
(4)拷贝/etc/man.config文件到当前目录。
(5)用vi打开它,请问现在是在什么模式?
(6)将光标移动到行尾,再将光标移动到行首。
(7)将光标移动到21行,删除5行。
(8)撤销刚才的操作。
(9)将光标移动到11行,复制10行。
(10)将复制的内容粘贴到文章末尾。
(11)在vi中设定行号,移动到第58行。
(12)移动到第一行,并且向下查找bzip2这个字符串,请问它在第几行?
(13)移动到第5行将man字符串(全部)改为大写MAN字符串?
(14)修改完之后,突然反悔了,要全部复原。
(15)将这个文件另存成一个man. test. config的文件。
(16)保存退出。
(17)使用vi新建文档Hello. java。
(18)进人编辑模式输人源代码。
(19) 保存退出。
实训2:重定向、管道
(1) 用ls命令显示当前目录的文件列表。
(2)使用输出重定向,把ll命令在终端上显示的当前目录中的文件列表重定向到list中去。
(3)查看文件list中的内容,往意在列表中会多出一个文件list,其长度为0,这说明Shell是首先创建了个空文件,然后再运行Is 命令。
(4)再次使用输出重定向,把1s命令在终端上显示的当前目录中的文件列表重定向到文件list中去。这次使用管道符号>>进行重定向。
(5)查看文件list的内容,注意其中两行list文件的信息中文件大小的区别。
(6)使用echo命令,在屏幕上显示内容为“happy”的字符串:
(7)使用echo命令,将“happy”的字符串写人network文件中。
(8)将1s/etc/xl命令执行错误重定向到home目录下的cw文件中。
(9)使用cat命令将list文件和network文件合并成一个文件list_network
(10)使用tr命令将network文件中的h字母转化成大写的H字母。
(11)使用tr命令將network文件中的h字母转化成大写的H字母,并写人networkl文件中去。
(12)练习使用"cat>network2<< !".
(13)利用管道和grep命令,在上面建立的文件list中查找字符中list.
(14)利用管道和wc命令,计算文件list中的行数、单词数和字符数。
(15)将/et/passwd 文件内容重定向到/home目录下的pd文件中。
实训3: grep及正则表达式
(1)将/etc/passwd 中有出现root 的行取出来,并以高亮显示。
(2)将/ete/ passwd中有出现root的行取出来,同时显示这些行在etc/ passwd的行号。
(3)将/etc/ passwd中没有出现root的行取出来。
(4)将/etc/passwd 中没有出现root和nologin的行取出来。
(5)将/etc/passwd 中出现“root" 或"mail"的行。
实训4:正则表达式
(1)匹配行首。
①查看以字符“a”开头的行。
②查看以字符串“abc"开头的行。
(2) $匹配行尾。
①查看以字符串“33”结尾的行。
②查看以字符“3”结尾的行。
(3) []:匹配[]内的字符或者关系。
①查看包含字符“1” 或者包含字符“2”包含字符“3”的行。
②查看包含字符test或taste的行。
(4).:匹配任意的单字符。
①查找任意字符开头,然后第二个字符为3。
②查找任意两个字符开头,然后第三个字符为3。
(5)¥:紧跟一个单字符,表示匹配0个或者多个此字符。
①匹配字符“3”0次或者多次。
②匹配字符串“23",但是3被匹配的次数≥0。
(6) \ :用来屏蔽元字符的特殊含义。
①在字符串“365.398”中,查找“.”这个字符,而不是任意单字符。
(7)搜索到有oo的行,但不想要oo前面有g.
(8)搜寻包含特定字符串“the" 的行。
(9)反向搜寻特定字符串"the"(即不包含“the")。
(10)取得任意大小写"the"的这个字符串。
(11)搜索有oo的字符时,则可以使用。
(12)搜索oo时不想搜到oo前面有g的话,可以利用反向选择[^]来达成,
(13)搜索oo前面不想有小写字符。
(14)显示行首为"the"的字符串。
(15)显示行首是小写字符。
(16)显示行尾为点的那行
(17)显示5~9行数据。
(18)显示空白行。
(19)找出g?? d字符串,起头g结束d的四个字符串。
(20)o*代表空字符(就是有没有字符都可以)或者一个到N个o字符,所以grep-n ‘o*’regular _ express. txt就会把所有行全部打印出来,
(21) oo*代表o+空字符或者一个到N个o字符,所以grep 一n 'oo*'regular _express. txt就会把o, 00,000 等的行全部打印出来。
(22)“goo*g"代表gog, goog. gooog等。
(23)找出含g...g字符串的行。
(24)找出含有数字的行。
(25)找出含两个o的字符串。
(26)找出g后含2~5个o然后以g结尾的字符串。
(27)找出g后含2以上的o然后以g结尾的字符串。
实训1:vim编辑器的应用
(1)在当前目录中,通过vi(m)命令新建wol文件。
(2)进入vi编辑器后,通过按字母i进入insert模式。输人一行文字“I am a student!"。
(3)按ESC.退回命令模式,输人“: wq",保存退出。
(4)拷贝/etc/man.config文件到当前目录。
(5)用vi打开它,请问现在是在什么模式?
当前是命令模式
(6)将光标移动到行尾,再将光标移动到行首。
按“$”移动至行尾,按“0”或者“^”跳转至行首
(7)将光标移动到21行,删除5行。
按下“21G”即可跳转到第二十一行,再用“5dd”删除5行
(8)撤销刚才的操作。
在命令模式下按下“u”即可撤销上一步的操作
(9)将光标移动到11行,复制10行。
按下“11G”跳转到第11行,再用“10yy”复制10行
(10)将复制的内容粘贴到文章末尾。
按下“G”将光标移动至文件末尾行首,按下“$”跳转到行尾,再用“p”粘贴至文章末尾
(11)在vi中设定行号,移动到第58行。
由于上面方便查看行数已经设定过行号了,命令为“:set number”(在命令模式下启动末行模式,设置set number)
此处我先退出vim编辑器,重新进入后用“:set number(或:set nu)”设置行号(或用“:set nonumber”取消行号,再重新进行设置)。再用“58G”移动到第58行
(12)移动到第一行,并且向下查找bzip2这个字符串,请问它在第几行?
按下“gg”或者“1G”即可将光标移动到第1行,用“/bzip2”向下查找,结果显示该字符串在第13行
(13)移动到第5行将man字符串(全部)改为大写MAN字符串?
按下“5G”跳转到第五行,输入“:s/man/MAN/g”即可将该行全部的“man”修改成“MAN”
(14)修改完之后,突然反悔了,要全部复原。
强制退出“:q!”,不保存修改的内容。即恢复到最初状态,完成全部复原。
(15)将这个文件另存成一个man. test. config的文件。
利用“:w filename”命令进行实现,即为“:w man.test.config”
(16)保存退出。
(17)使用vi新建文档Hello. java。
(18)进人编辑模式输人源代码。
public class hello
public static void main (Srting [] args)
System. out. println (“Hello world!");
按下“a”(或者“i”、“o”)即可从命令模式进入输入模式并且输入代码
(19) 保存退出。
当前在输入模式中,按下“Esc”键退回到命令模式下,再按“:wq”则进入末行模式且保存退出
实训2:重定向、管道
(1) 用ls命令显示当前目录的文件列表。
(2)使用输出重定向,把ll命令在终端上显示的当前目录中的文件列表重定向到list中去。
(3)查看文件list中的内容,往意在列表中会多出一个文件list,其长度为0,这说明Shell是首先创建了个空文件,然后再运行Is 命令。
(4)再次使用输出重定向,把1s命令在终端上显示的当前目录中的文件列表重定向到文件list中去。这次使用管道符号>>进行重定向。
(5)查看文件list的内容,注意其中两行list文件的信息中文件大小的区别。
(6)使用echo命令,在屏幕上显示内容为“happy”的字符串:
(7)使用echo命令,将“happy”的字符串写人network文件中。
(8)将1s/etc/xl命令执行错误重定向到home目录下的cw文件中。
(9)使用cat命令将list文件和network文件合并成一个文件list_network
(10)使用tr命令将network文件中的h字母转化成大写的H字母。
(11)使用tr命令將network文件中的h字母转化成大写的H字母,并写人networkl文件中去。
(12)练习使用"cat>network2<< !".
(13)利用管道和grep命令,在上面建立的文件list中查找字符中list.
(14)利用管道和wc命令,计算文件list中的行数、单词数和字符数。
(15)将/et/passwd 文件内容重定向到/home目录下的pd文件中。
实训3: grep及正则表达式
(1)将/etc/passwd 中有出现root 的行取出来,并以高亮显示。
(2)将/ete/ passwd中有出现root的行取出来,同时显示这些行在etc/ passwd的行号。
(3)将/etc/ passwd中没有出现root的行取出来。
(4)将/etc/passwd 中没有出现root和nologin的行取出来。
(5)将/etc/passwd 中出现“root" 或"mail"的行。
实训4:正则表达式
(1)匹配行首。
①查看以字符“a”开头的行。
②查看以字符串“abc"开头的行。
(2) $匹配行尾。
注:这个题目应该给错了,应该是匹配行尾而非开头
①查看以字符串“33”结尾的行。
②查看以字符“3”结尾的行。
(3) []:匹配[]内的字符或者关系。
①查看包含字符“1” 或者包含字符“2”包含字符“3”的行。
②查看包含字符test或taste的行。
(4).:匹配任意的单字符。
①查找任意字符开头,然后第二个字符为3。
②查找任意两个字符开头,然后第三个字符为3。
(5)*:紧跟一个单字符,表示匹配0个或者多个此字符。
①匹配字符“3”0次或者多次。
②匹配字符串“23",但是3被匹配的次数≥0。
(6) \ :用来屏蔽元字符的特殊含义。
①在字符串“365.398”中,查找“.”这个字符,而不是任意单字符。
(7)搜索到有oo的行,但不想要oo前面有g.
(8)搜寻包含特定字符串“the" 的行。
(9)反向搜寻特定字符串"the"(即不包含“the")。
(10)取得任意大小写"the"的这个字符串。
(11)搜索有oo的字符时,则可以使用。
(12)搜索oo时不想搜到oo前面有g的话,可以利用反向选择[^]来达成,
(13)搜索oo前面不想有小写字符。
(14)显示行首为"the"的字符串。
(15)显示行首是小写字符。
(16)显示行尾为点的那行
(17)显示5~9行数据。
(18)显示空白行。
(19)找出g?? d字符串,起头g结束d的四个字符串。
(20)o*代表空字符(就是有没有字符都可以)或者一个到N个o字符,所以grep-n ‘o*’regular _ express. txt就会把所有行全部打印出来,
(21) oo*代表o+空字符或者一个到N个o字符,所以grep 一n 'oo*'regular _express. txt就会把o, 00,000 等的行全部打印出来。
(22)“goo*g"代表gog, goog. gooog等。
(23)找出含g...g字符串的行。
(24)找出含有数字的行。
(25)找出含两个o的字符串。
(26)找出g后含2~5个o然后以g结尾的字符串。
文章来源:https://www.toymoban.com/news/detail-403241.html
(27)找出g后含2以上的o然后以g结尾的字符串。
文章来源地址https://www.toymoban.com/news/detail-403241.html
到了这里,关于【Linux】Shell与文本处理实训的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!