linux如何实现,对某个文本循环查找多个字符串,并输出所在行的内容?

linux如何实现,对某个文本循环查找多个字符串,并输出所在行的内容?,第1张

在 Linux 中,您可以使用 grep 命令来实现这个功能。该命令可以用来在文本文件中搜索特定的文本模式。

例如,要查找在文件 all.log 中含有单词 word 的行,您可以使用以下命令:

grep word all.log

如果要查找多个单词,您可以将它们放在一个字符串中,然后将该字符串作为 grep 命令的参数。例如,要查找在文蠢宽件 all.log 中含有单词 word、list、hello、good 或 bad 的行,您可以使用以下命令:

grep "word|list|hello|good|bad" all.log

请注意,单蔽者词之间使用 | 符号隔开,表示“或”的意思。

此外,您还可宏档薯以使用 -f 选项来指定要查找的单词列表所在的文件,这样就可以避免在命令行中手动输入单词列表。例如,如果要查找的单词列表保存在文件 search.txt 中,您可以使用以下命令:

grep -f search.txt all.log

希望这些信息能够帮助您解决问题。

Shell 脚本一直以来不是很入门,很多时候就是用到再查,发现自己有几个重复用比较高的点,还是记姿腊族录一下,至少查的时候能少费点功夫~~

(1)列表for循环

Shell支持使用略写的计数方式,如{1..10},表示迹弊1到10的整数数字;

Shell还支持安规定的步数进行跳跃的方式实现列表for循环,例如计算1~100之内所有奇数的和。

i 按照2的增量增长,一直到增长到100。局埋即实现100内奇数加和。还可以使用seq命令实现按2递增来计算1..100内的所有奇数之和。 for i in $(seq 1 2 100) ,seq 表示起始值为1,增量为2,结束条件值为100。

for循环除了数字列表,还可以生成字符串列表,如列出当前文件夹下的所有文件:

还可以传递命令行参数

$#表示传递的参数的个数;$@表示参数的列表。

(2) 类C风格的for循环

也称之为计次循环。 切记使用的是双括号。

上面的计算100以内奇数的和可以使用类C的for循环实现

通过for循环实现九九乘法表

echo `date +"%Y-%m-%d %H:%M:%S"` begin >>文件路径

echo $RANDOM >>文件路径

shell中漏拆有一个环境变量为$RANDOM,实返吵枣际的取值范围为:0-32767

echo `date +"%Y-%m-%d %H:%M:%S"` '我是中文' $RANDOM >>文件路径碰毁


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存