shell脚本初学者指南3:更多基本命令和链

您已经学习了如何创建脚本、使用参数和构建for循环。现在,让我们看一些更基本的命令,文本文件操作,以及将输入和输出重定向到文件和其他命令。...

shell脚本初学者指南3:更多基本命令和链

您已经学习了如何创建脚本、使用参数和构建for循环。现在,让我们看一些更基本的命令,文本文件操作,以及将输入和输出重定向到文件和其他命令。

一些基本的有用命令

我们已经为您提供了shell脚本的基本分类和for循环的基于示例的概要,但是如果您错过了我们的shell脚本指南,请务必查看这些文章。

命令行之所以出色有很多原因,重定向是最突出的原因之一。如果为了采取进一步的行动或将其用于其他事情而必须记录并再现每个命令的输出,那么我们早就疯了。重定向允许我们使用该输出并保存它,或者立即将其用作另一个命令的输入。我们也可以使用文件作为其他命令的输入。

在继续之前,让我们先介绍一些基本命令,这些命令可以在许多不同的地方使用。

echo–这个命令只是在命令行上打印(显示)整个参数作为输出

echo argument with spaces

shell脚本初学者指南3:更多基本命令和链

如您所见,特殊字符需要“转义”,以便正常处理。这是通过在字符前面使用反斜杠(\)来完成的。最好用引号。echo命令也适用于变量。

shell脚本初学者指南3:更多基本命令和链

如您所见,单引号和双引号的行为不同。有关更多信息,请查看bashshell中单引号和双引号的区别?

cat–此命令将文本文件的内容显示为输出。

cat file_to_be_read

假设我们在nano中创建这个文本文件:

shell脚本初学者指南3:更多基本命令和链

当我们对文件使用cat命令时,我们可以看到它的输出。

shell脚本初学者指南3:更多基本命令和链

grep–这是Linux中最强大、最有用的命令之一。它代表全局/正则表达式打印。它浏览一个文件并打印与特定模式匹配的任何行。因为这个模式是基于“正则表达式”的,所以一条简洁的行可以产生大量要匹配的模式。不过,对于not,您可以输入一个tern进行搜索。

grep pattern file

shell脚本初学者指南3:更多基本命令和链

我向你保证,格雷普可以做得更多,但现在让我们继续做更简单的事情。

重定向输出

为了将命令的输出重定向到文件,我们使用了一个特殊字符,即大于符号(>)。

我们把单子改一下,好吗?输入以下命令:

echo pepperoni > list

您可以看到echo不再显示该行,当我们查看“list”文件的内容时,我们可以看到其中的回声。

还要注意的是,“列表”之前的内容已被删除。再试一次:

shell脚本初学者指南3:更多基本命令和链

当您想重用一个文件时,这会很有用,但通常我们只想添加到现有的文件中。为此,我们使用两个连续的大于符号:

echo yellow peppers >> list

shell脚本初学者指南3:更多基本命令和链

容易的!让我们用这个命令创建一个更大的列表,好吗?

shell脚本初学者指南3:更多基本命令和链

就这样。我想你可以理解为什么这么多极客使用命令行来**待办事项列表之类的东西,但是它变得更好了。

让我们将命令的输出放入一个文件中:

ls –al / > ~/rootlist

shell脚本初学者指南3:更多基本命令和链

**文件列表,编辑它们,然后在你想要的文件上运行命令,从来没有这么简单过。而且,当我们在命令行中执行这些基本功能时,它们在脚本中也能很好地工作。

管道或链条

管道之所以这样命名,是因为它使用管道(在大多数键盘上与\键共享)。从本质上讲,它接受一个命令的输出并直接将其提供给另一个命令。您可以通过这种方式创建长的命令链来获得非常特定的所需输出,这对于grep之类的命令非常方便。

shell脚本初学者指南3:更多基本命令和链

它的行为很像“>”,只是它可以被链接多次,其效果更一般,因为它不需要遍历文本文件。

如你所见,grep是区分大小写的。可以使用“-i”标志使其忽略大小写。

shell脚本初学者指南3:更多基本命令和链

重定向输入

还可以使用小于符号(<)从文件中获取命令的输入。

cat < list

shell脚本初学者指南3:更多基本命令和链

“这和用论点没什么区别!“你可能会说。在这种情况下你是对的。输入重定向真正有用的地方是将命令链接在一起。

假设我们想从当前的“list”文件中将任何包含“pep”的单词过滤到一个名为“revisi***”的新文件中。

grep pep < list > revisi***

shell脚本初学者指南3:更多基本命令和链

让我们重做这个命令,并添加一些排序。

grep pep < list | sort > revisi***

shell脚本初学者指南3:更多基本命令和链

这将使用“pep”作为输入文件“list”中的搜索项,按字母顺序对其排序(所有大写项后跟所有小写项),然后将其输出到“revisi***”文件中。

为了演示sort命令,让我们看一下以下示例:

shell脚本初学者指南3:更多基本命令和链

如您所见,向sort命令添加“-f”标志允许您忽略大小写。这使得我们可以很容易地按字母顺序排列文本文件中的行,并忽略大小写时,这并不重要。

简单的脚本

让我们创建一个具有以下形式的脚本:

script searchterm listfile

It will take the term and use grep to search through a list file, sort the results, and then output them to another file.shell脚本初学者指南3:更多基本命令和链

下面是我们将在其中测试脚本的目录:

shell脚本初学者指南3:更多基本命令和链

我们可以在这里创建一个列表,然后运行脚本。

shell脚本初学者指南3:更多基本命令和链

给你!学习正则表达式的规则越多,就越能准确地组合搜索命令。而且,任何在引号中有效的东西都可以代替你的第一个参数!

就排序而言,您可以做的不仅仅是按字母顺序排序。查看手册页,了解以下命令:

  • tsort–更高级的拓扑排序功能
  • tr–用于将特定字符映射到其他字符,并在它们之间进行转录。
  • uniq–删除任何非唯一的(读:复制)
  • awk–一种非常高级的文本处理语言/函数,可以用来分隔文件名中的字段
  • 剪切、粘贴/连接–用于将字段与文本文件隔离以及将新数据添加到列中的命令
  • look–像grep那样进行搜索,但使用字典文件(可以由用户指定)进行查找
  • wc–让您获得字数、行数、字符数等

 


今天我们看了一些在命令行和脚本中同样有用的基础知识。基于文本的数据通常是我们日常使用的核心,因此能够处理、搜索和操作它是关键。

 

你最喜欢的脚本是什么?对于基于文本的文件,有什么特殊的使用脚本吗?分享你在评论中所知道的!

  • 发表于 2021-04-12 20:58
  • 阅读 ( 159 )
  • 分类:互联网

你可能感兴趣的文章

2021年面向开发者、云工程师和devops的5大linux课程

... 非常适合:初学者和对Linux基本或很少了解的人 ...

  • 发布于 2021-03-11 10:29
  • 阅读 ( 249 )

使用简单的shell脚本修复html格式

...有时会添加恼人的格式标记(如标记)。使用简单的shell脚本,您可以通过几个简单的命令自动清除那些垃圾HTML格式。 ...

  • 发布于 2021-03-13 00:12
  • 阅读 ( 243 )

顶级网站和书籍,让您成为linux命令行英雄

... 此外,还有一个Bash脚本部分,它解释了可以在命令行中进行的基本编程。这包括变量、if语句、循环和函数。如果你不熟悉这些,不用担心——它们相当简单! ...

  • 发布于 2021-03-14 07:04
  • 阅读 ( 251 )

VisualStudio代码是mac的完美文本和脚本编辑器

Xcode是go-to-Mac开发环境,但对初学者来说可能有点过分。如果你很好奇,只是想玩一下,微软的visualstudio代码可能是更好的选择。 ...

  • 发布于 2021-03-14 07:11
  • 阅读 ( 205 )

如何使用applescript将bash脚本转换为可单击的应用程序

假设你是一个bash脚本向导,喜欢为不太懂技术的朋友和家人自动化任务。即使你给了他们一个脚本,完全解决了他们的问题,他们可能仍然担心自己使用终端。在这种情况下,您不妨手动为它们执行所有操作。 ...

  • 发布于 2021-03-21 09:39
  • 阅读 ( 252 )

初学者快速自动热键指南

...动热键是上瘾一旦你成为熟练。但是现在,让我们用这个初学者指南来学习基础知识。 ...

  • 发布于 2021-03-21 16:59
  • 阅读 ( 329 )

如何编程树莓pi控制led灯

从树莓皮开始是一个令人兴奋的经历。对于初学者来说,开始编写代码和DIY电子产品从来都不是一件容易的事。 ...

  • 发布于 2021-03-24 09:16
  • 阅读 ( 290 )

关于python编程最常见的问题

...数,Python在2018年初排名第四,领先于JavaScript和Ruby等其他初学者友好语言。 ...

  • 发布于 2021-03-25 18:32
  • 阅读 ( 445 )

如何使用“helloworld”脚本开始使用python

...器学习等领域的应用,但它也很容易学习语法,因此深受初学者的喜爱。 ...

  • 发布于 2021-03-28 01:18
  • 阅读 ( 312 )

windows10的新bashshell所能做的一切

...以让标准Bash shell自动切换到Zsh shell。 在windows上使用bash脚本 相关:如何在windows10上创建和运行bashshell脚本 由于这种环境,实际上可以在Windows上编写bashshell脚本并运行它。Bash脚本可以访问存储在/mnt文件夹下的Windows文件,因此...

  • 发布于 2021-04-06 14:44
  • 阅读 ( 268 )
lnllpdjai
lnllpdjai

0 篇文章

相关推荐