【问题标题】:How to read a specific string from a file and save the whole line in another file in Bash Shell script如何从文件中读取特定字符串并将整行保存在 Bash Shell 脚本中的另一个文件中
【发布时间】:2022-01-13 16:30:03
【问题描述】:

我有一个包含多行的文件。每行包含字符串和数字。我的脚本应该读取file,并且当匹配特定单词时,它应该保存完整的行。例如,其中一行包含:Computera abc23,当脚本应该在任何行中找到单词Computera 时,它应该保存整行,即Computera abc23。该行应保存在file1 中。 同样,file 中的另一行包含单词 machine1,当脚本应该看到单词 machine1 时,它应该将该行保存在 file1

这是我的代码:

#!/bin/sh
f="home/c/file.txt"
n=$(cat "$f")
echo "${n} >| /home/c/file1.txt"

我的代码读取并保存了从 filefile1 的所有文本,但我只想保存匹配特定单词的那些行

【问题讨论】:

  • 使用grep:grep "$word" "$file" > /home/c/file1.txt
  • @joshmeranda。谢谢。但是我如何保存包含单词的完整行?
  • grep 的伟大之处在于它可以为您做到这一点!你可以告诉它只输出匹配的内容,但默认输出匹配的行。
  • @joshmeranda 如果一行包含 5 个单词,并且在该行中匹配了特定单词,那么所有 5 个单词都会被保存?
  • 是的,整行都会匹配。您可以阅读有关 grep 以及如何使用它的更多信息 here 或运行 man grep

标签: linux bash shell file redhat


【解决方案1】:

类似的东西:

cat file | grep [pattern] | awk '{ print $number-of-column }' >> file1

我建议阅读cutawk 以及如何将它们与grep 命令一起使用。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2013-11-01
  • 2017-12-29
  • 1970-01-01
  • 2019-02-10
  • 2019-09-20
  • 2017-11-19
  • 1970-01-01
  • 2015-06-19
相关资源
最近更新 更多