gpt4 book ai didi

linux - unix格式化输出变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:20:48 25 4
gpt4 key购买 nike

我正在编写一个程序,它将使用数据字段来创建用户名和密码

数据的格式是这样的

MWS1990 XXX-XX-XXXX STASNY, MATTHEW W SO-II BISS CPSC BS   INFO TECH   412/882-0581

这是程序

for linePosition in {11..22}
do
holder=`sed -n "${linePosition}p" $1|awk '{print $1}'`
holder2=`sed -n "${linePosition}p" $1|awk '{print $12}'`
holder3=`sed -n "${linePosition}p" $1|awk '{print $7}'`
echo "UserName"
echo "$holder"
echo "password"
echo "$holder2"
echo "$holder3"
done

它返回这样的输出

UserName
MWS1990
password
412/882-0581
BISS

错误的两件事是

  1. 我希望它删除用户名之后的年份。所以以上示例将只是 MWS。我可以添加什么到 holder=`sed -n"${linePosition}p"$1|awk '{print $1}' 让它只返回前 3 个字母。 (最好是小写但不是必须的)

  2. 我想删除电话号码的前 6 个字母。所以不是 412/882-0581电话号码将显示为 0581

最佳答案

因为您已经使用了 awk ,可以减少涉及的命令

awk 'NR >= 11 && NR <= 22 {
print "UserName";
print tolower(substr($1, 1, 3));
print "password";
print substr($12, 9);
print $7;}' $1

关于linux - unix格式化输出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14926531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com