用awk提取 stu696:x:1043:1002::/mydata//stu696:/bin/bash 第一个:前面的内容
时间: 2023-07-30 21:05:14 浏览: 61
你可以使用 awk 的内置函数 `split()` 来实现该需求。`split()` 可以将一个字符串按照指定分隔符进行分割,并将分割后的结果存储到数组中。具体实现如下:
```
echo "stu696:x:1043:1002::/mydata//stu696:/bin/bash" | awk -F: '{split($0, arr, ":"); print arr[1]}'
```
上面的命令中,`-F:` 指定了分隔符为冒号,`split($0, arr, ":")` 将整个字符串按照冒号进行分割,并将结果存储到数组 `arr` 中,最后输出数组中的第一个元素 `arr[1]`,即为所需的结果。
相关问题
awk使用 ":" 作为分隔符,显示/etc/passwd第一、第二列
可以使用下面这个命令来实现:
```
awk -F ':' '{print $1, $2}' /etc/passwd
```
其中,-F选项指定了分隔符为“:”,然后我们用print命令输出第一列和第二列的内容即可。
cat /etc/passwd | grep bash | awk -F: '{print $1}'
这个命令的作用是在 Linux 系统中列出所有使用 bash 作为默认 shell 的用户的用户名。具体来说,这个命令会读取 /etc/passwd 文件中的所有用户信息,通过管道传递给 grep 命令,并使用 grep 进行过滤,只保留使用 bash 作为默认 shell 的用户信息。然后,这些用户信息会再次通过管道传递给 awk 命令,并使用 awk 解析出每个用户信息中的用户名部分,最终输出所有的用户名。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)