查找list.TXT的文件

查找list.TXT的文件,第1张

ls -l这个命令,将当前目录下的文件显示出来(类似于DOS下的dir命令)。然后用输出重定向 *** 作符 >来将输出重定向到list.txt文件中。这样,ls的输入就不再输出到屏幕,而是输出到list.txt文件中了。然后用cat list.txt命令查看list.txt文件的内容,得到如上输入。

虽然标准输出和标准报错都是输出到屏幕,但这是两种不同的输出,使用两个不同的流文件。重定向标准报错的时候,就不能用 >这个 *** 作符,而需要使用 2>这个 *** 作符。如

$ myprog >stdout.txt 2>stderr.txt

这样,就将标准输出重定向到了stdout.txt中,而将标准输入重定向到了stderr.txt中。

对于输入重定向和报错的重定向,还有一点需要注意:你将输出或者报错重定向到了一个文件,如果这个文件不存在,则建立这样一个文件。如果这个文件存在,则这个文件中的所有内容都将被清除,而以标准输入中的内容取而代之。如果你想将新的内容输入到文件尾,则需要用 >>这个追加 *** 作符。如上例中,

$ ls -l >>list.txt

则将标准输入的内容追加到了list.txt的文件尾。

同时,还有一个管道 *** 作。管道 *** 作的意思是,有一串命令,利用管码亮道 *** 作符 | ,可以将前一个命令的弯模岩输出当做后一个命令的输入,以此类推。如:

$ ls /usr/bin | more

[

4odb

4rdf

4xslt

4xupdate

a2p

a2ps

ab

aclocal

……

这个命令的意思是,将/usr/bin下的文件及目录名输出,然后利用more将这个输出分屏显示。就好像将前一个命令的输出,装入了一个管子后传到了下一个命令当做输入来使用。

合理使用重定向及管道 *** 作,可以使Linux命令的威力倍增。

Linux支持通配符。所谓通配符,是指 * 和 ? 这两个字符。* 可以匹配任意多个字符,而 ? 只能匹配单个字符。如: a* 可以代表 ab,abc,ac,acdef等等。而a?则只能代表ab,ac,ad……等等。

除了用*和?来匹配一个或者多个字符外,你也可以指定一个字符清单,用来匹配清单中出现的任意一个字符。字符清单要列在一对[]内,如:

tty?[1234],可以代表tty1,tty2,tty3,tty4这四个词。

tty?[ace],可以代表ttya,ttyc,ttye这三个词。

如果字符清单是单纯的连续的字母或者数字,还可以这样写:

tty?[1-4],与tty?[1234]同样。

tty?[a-e],与tty?[abcde]同样。

另外还有一种写法,即:指定字(不是字符)清单埋御。字(word)清单要包含在一对{}中,用 , 分隔开,其用法举例如下:

$ mkdir /tmp/{bin,tmp,lst}

这个命令,在/tmp/下建立了bin,tmp,lst三个子目录。

除此之外,Linux的各种shell下还提供了丰富的命令 *** 作功能 。下面简要介绍一下:

* 命令补全功能

命令补全功能是指,当你输入一个命令的一部分后,按下<Tab>键,shell会尝试自动补全不完整的功能。如果你的输入太短,以至于 shell无法判定你要输入的命令是什么的时候,会蜂鸣一声以示提示。在这个时候,在某些shell如bash下,如果你再按一次<Tab>,shell则会将所有匹配你输入的命令列出以供你选择。类似地,当你使用一个文件名做为命令的参数的时候,shell也会尝试着去补全这个命令。如下例

$ ls

bin include lib list.txt okdata OkProg src test

$ ls t

输入到这个的时候,按下<Tab>键。由于在当前目录下,只包含test一个以t开头的文件/目录,所以shell自动补全这个文件名,成了这样:

$ ls test/

* 命令历史记录

当你新开了一个shell,进行 *** 作的时候,shell会将你的一部分 *** 作记录下来。保存的 *** 作数目是在$history这个系统变量中保存的。如$ history的值是1000,代表shell将会保存最近的1000次 *** 作。你可以用history命令来查看历史 *** 作。如:

$ history

……

53 22:59 cl

53 22:59 ls -l >list.txt

54 22:59 cat list.txt

……

59 23:10 ls /ur/bin | more

60 23:17 mkdir /tmp/{bin,tmp,lst}

……

上面表示的是输出的一部分。

使用历史命令记录,可以使你省下很多烦琐的输入。在shell提示符下按方向键的上下,就可以选择历史命令。当你输入命令的一部分后按Esc+P,就可以调出最近的一次与你的输入最匹配的 *** 作。如:我现在输入h后按下Esc+P组合键,则显示history,按回车即可执行。

使用!<number>则可调用第<number>次 *** 作。从上面history的输入可以知道第60次 *** 作是mkdir /tmp{bin,tmp,lst},那么如果我输入!60后按回车,则直接再次执行这个 *** 作。

使用!<key>则可以调用与<key>匹配的最近的一次 *** 作。如我输入!ca,则会调用第54次 *** 作的cat list.txt

使用!!可以重复上一次的 *** 作。

此外,还可以对命令中的任何位置(不只局限于开始部分)出现的字符进行搜索。被搜索的字符串应该放在两个?中间。如:

$ !?dir?

会找到 mkdir /tmp/{bin,tmp,lst} 这条历史命令。注意:在这里,?不是通配符,而是一种叫做“正则表达式”的式子。如果第二个字符串后面没有东西,则可以省略。

同样,Linux的shell还允许你对历史命令中的一部分稍加修改后执行,修改用到的方法是:s/old/new/,将old换成new。我们要将mkdir /tmp/{bin,tmp,lst}中的bin改成my后执行,则可以这样:

$ !?kdir?:s/bin/my

实际上,这也是一种正则表达式。正则表达示是Linux下一个强大的工具,可以用来进行复杂的匹配,或者模糊查找,等等。关于正则表达式,我们会在以后涉及到。

当然,我只是为了举个例子,才写这样的命令的。对于简单的命令,这还不如直接写一遍来得迅速。另外,不像DOS只有一个command.com,Linux下有很多的shell,如tcsh,bash等等。在不同的shell中,这些 *** 作方法会有稍许不同。

在Linux下,你还可以编辑shell脚本(类似于MS-DOS下的批处理命令,但功能更为强大)。也可以使用命令函数。这些内容我们暂且搁置。

根据文件名列表批量搜索文件的具体 *** 作步骤如下:

1、首先我们打开电脑桌面,在桌面空白地方单击鼠标右键,点击新建文本文档。

/iknow-pic.cdn.bcebos.com/9825bc315c6034a8f40d69dcc513495408237684"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/9825bc315c6034a8f40d69dcc513495408237684?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/9825bc315c6034a8f40d69dcc513495408237684"/>

2、然后在文本中输入下面一段代码。

/iknow-pic.cdn.bcebos.com/4afbfbedab64034f7b51135ba1c379310b551dca"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/4afbfbedab64034f7b51135ba1c379310b551dca?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/4afbfbedab64034f7b51135ba1c379310b551dca"/>

3、然后打开文件点击另存为,文件名保存为:新建文档.bat ,此处一定要改后缀为.bat才行。

/iknow-pic.cdn.bcebos.com/燃扒则8644ebf81a4c510f825b33476e59252dd52aa5d4"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/8644ebf81a4c510f825b33476e59252dd52aa5d4?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/8644ebf81a4c510f825b33476e59252dd52aa5d4"/>

4、然后我们在桌面上右键新建文档.bat点击编辑。

/iknow-pic.cdn.bcebos.com/8b82b9014a90f60360774d1a3712b31bb151edac"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/8b82b9014a90f60360774d1a3712b31bb151edac?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/8b82b9014a90f60360774d1a3712b31bb151edac"/>

5、添加源文件路径,比如总文件在''D:\3-软件文件\桌面\源文件''这里,那就把此神''源文件地址''替换成''D:\3-软件文件\桌面\源文件皮棚''。

/iknow-pic.cdn.bcebos.com/241f95cad1c8a78601cd9b536909c93d71cf508c"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/241f95cad1c8a78601cd9b536909c93d71cf508c?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/241f95cad1c8a78601cd9b536909c93d71cf508c"/>

6、然后我们修改需要查找的文件存放位置,比如"查找后需要存放的地址"修改成''D:\桌面\拷贝结果存放位置'',按快捷键Ctrl+S保存文档就可以了。

/iknow-pic.cdn.bcebos.com/8c1001e93901213f320d9e815ae736d12f2e95b5"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/8c1001e93901213f320d9e815ae736d12f2e95b5?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/8c1001e93901213f320d9e815ae736d12f2e95b5"/>

7、最后设置需要查找拷贝的文件名称。以文本文档的形式保存文件名的排列格式是每行一个,最后直接单击运行,你就会在''拷贝结果存放位置''文件夹中看到你想要的文件。

/iknow-pic.cdn.bcebos.com/d043ad4bd11373f07920bfc2aa0f4bfbfbed0454"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/d043ad4bd11373f07920bfc2aa0f4bfbfbed0454?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/d043ad4bd11373f07920bfc2aa0f4bfbfbed0454"/>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8202420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存