sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000 如何只输出kernel.sem = 32000
时间: 2024-03-14 09:46:02 浏览: 107
要从 "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000" 中提取 "kernel.sem = 32000",可以使用字符串操作来提取。具体来说,可以按照以下步骤进行:
1. 将字符串 "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000" 按空格分割成一个列表,代码如下:
```
string = "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000"
lst = string.split()
```
2. 通过列表中的元素位置来提取 "kernel.sem = 32000",代码如下:
```
output = lst[2] + " = " + lst[3]
```
这样,就可以得到 "kernel.sem = 32000" 的输出。
相关问题
echo 语句:sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000 如何只输出kernel.sem = 32000
要从 "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000" 中提取 "kernel.sem = 32000" 并输出,可以使用管道和 awk 命令来提取和格式化。具体来说,可以按照以下步骤进行:
```
echo "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000" | awk '{print $3" = "$4}'
```
其中,echo 命令用于输出字符串,管道符号 "|" 将字符串输出到 awk 命令中,awk 命令用于提取字符串中的 "kernel.sem = 32000" 部分并进行格式化输出。具体来说,awk 命令中的 '{print $3" = "$4}' 表示输出第三个和第四个空格分隔的元素,并用 "=" 符号将它们连接起来进行输出。
这样,就可以得到输出 "kernel.sem = 32000"。
root@newland-VirtualBox:/home/newland# echo "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000" | awk '{print $3" = "$4}' kernel.sem = =
看起来 awk 命令并没有正确提取 "kernel.sem = 32000"。这可能是因为输入字符串中的等号 "=" 没有被正确处理。为了解决这个问题,可以使用 awk 的 -F 选项指定输入字符串的分隔符,然后再提取对应的字段。具体来说,可以按照以下步骤进行:
```
echo "sysctl kernel.sem kernel.sem = 32000 1024000000 500 32000" | awk -F'[ =]+' '{print $4" = "$5}'
```
其中,-F 选项指定分隔符为一个或多个空格或等号,然后 '{print $4" = "$5}' 表示输出第四个和第五个字段,并用 "=" 符号将它们连接起来进行输出。
这样,就可以得到正确的输出 "kernel.sem = 32000"。
阅读全文