那么,如果我将 system_profile 保存到文本文档中,我该如何删除除一个部分之外的所有内容?或者删除它周围的引号?那么我该如何将某些文本分配给变量以检查某些内容?
示例:如果我将 system_profile 保存到文本文档,我将如何搜索以查找我有多少 RAM,并将其分配给变量“ram”?此外,我可以让它搜索并删除某些字符吗?例如,让脚本删除所有引号?
答案1
您可以使用 grep 在文件中搜索单词。
例子:
cat system_profile | grep ram
这将返回 system_profile 中包含模式“ram”的行。您可能需要运行该命令并查看返回结果,然后才能了解下一步该做什么。如果您想要的只是文件的一部分,您可以执行搜索并将输出重定向到新文件。
例子:
cat system_profile | grep ram -A 5 > system_ram
这将为您提供包含“ram”的行以及其后的五行。
您可以通过实用程序 sed 替换字符。
例子:
sed -i 's/old/new/g' system_profile
消除双引号(“):
sed -i 's/"//g' system_profile
答案2
我不完全确定如何在不同事件之间进行选择,但希望这会有所帮助。
x=$(cat system_profile | grep ram -A 5)
上述代码将保存包含 ram 的行以及其后的 5 行。若要获取之前的行,请使用-a
而不是-A
。
我猜想grep
支持选择有限数量的行(即在第一次出现后停止ram
)。如果这是您要查找的内容,请使用-m 1
grep 的(其中 1 是停止前要查找的出现次数)选项。
或者,如果选中的两行(或更多行)不相同,您可以修改 grep 搜索。只需更改ram
为您需要匹配的内容(如果超过一个单词,请将其放在引号中)