Linux,shell脚本,输出第二个字段包含字母的行的代码
时间: 2023-03-25 09:03:44 浏览: 80
可以使用以下命令实现:
grep '[a-zA-Z]' filename | awk '{print $2}'
其中,grep '[a-zA-Z]' filename 用于筛选出包含字母的行,awk '{print $2}' 用于输出每行的第二个字段。
相关问题
Linux,shell脚本,输出第二个字段包含字母的行
您好,关于您的问题,我可以回答。可以使用以下命令来输出第二个字段包含字母的行:
```
awk '$2 ~ /[a-zA-Z]/' 文件名
```
其中,`$2` 表示第二个字段,`~` 表示匹配,`[a-zA-Z]` 表示字母,`文件名` 表示需要处理的文件名。
Linux,编写一个Shell脚本,要求:创建文件列表,为其添加引号中的文本。“abz,182793 Jiki,18293j zzy,1982drl038 zpu,123456 zzp,1927345” 。”打印列表的内容。对list进行逆序排序。输出第2-4行,输出的同时显示列标题“HostName”、“PassWd”。输出第二个字段包含字母的行。
您好,以下是我的回答:
#!/bin/bash
list=("abz,182793" "Jiki,18293j" "zzy,1982drl038" "zpu,123456" "zzp,1927345")
# 添加引号
for i in "${!list[@]}"
do
list[$i]=\"${list[$i]}\"
done
# 打印列表内容
echo ${list[@]}
# 逆序排序
list=($(echo ${list[@]} | tr ' ' '\n' | sort -r))
# 输出第2-4行,包含列标题
echo "HostName PassWd"
echo ${list[@]:1:3}
# 输出第二个字段包含字母的行
for i in "${list[@]}"
do
if [[ $i =~ [a-zA-Z] ]]
then
echo $i
fi
done
希望能够帮助您!
阅读全文