Chinaunix
标题:
awk数组处理,数字字段加一列,谢谢。
[打印本页]
作者:
2013fish
时间:
2022-04-12 09:11
标题:
awk数组处理,数字字段加一列,谢谢。
文件如下:
234
A001
A003
A005
A007
568
A123
A127
A129
A134
791
A567
A568
A561
A431
A436
A439
等等需要变成如下的。
有个规律,都是A开头,就是只要是A开头的字段,在后面需要加一列,数字就是它前面最上的那个数字,谢谢。
234
A001 234
A003 234
A005 234
A007 234
568
A123 568
A127 568
A129 568
A134 568
791
A567 791
A568 791
A561 791
A431 791
A436 791
A439 791
作者:
legs
时间:
2022-04-12 13:24
本帖最后由 legs 于 2022-04-12 13:25 编辑
perl -pe'/(^\d+)/?$l=$1:s#$# $l#' file
复制代码
perl lnE'say=/^\d+/?$_:"$_ [ DISCUZ_CODE_1 ]"' file
复制代码
awk也差不多的用法,弄个临时变量来记录一下就行了。第二条被论坛识别错了,不会玩。
作者:
2013fish
时间:
2022-04-12 14:50
谢谢大神,好用!
作者:
daixubinbin
时间:
2022-04-17 23:51
[root@hecs-80021 20220417]# awk '{if($0~/^[0-9]+$/){s=$0;print $0} else {print $0,s}}' file
234
A001 234
A003 234
A005 234
A007 234
568
A123 568
A127 568
A129 568
A134 568
791
A567 791
A568 791
A561 791
A431 791
A436 791
A439 791
复制代码
作者:
daixubinbin
时间:
2022-04-17 23:53
[root@hecs-80021 20220417]# awk '{if($0~/^[0-9]+$/){s=$0;print $0} else {print $0,s}}' file
234
A001 234
A003 234
A005 234
A007 234
568
A123 568
A127 568
A129 568
A134 568
791
A567 791
A568 791
A561 791
A431 791
A436 791
A439 791
作者:
daixubinbin
时间:
2022-04-17 23:54
[root@hecs-80021 20220417]# awk '{if($0~/^[0-9]+$/){s=$0;print $0} else {print $0,s}}' file
234
A001 234
A003 234
A005 234
A007 234
568
A123 568
A127 568
A129 568
A134 568
791
A567 791
A568 791
A561 791
A431 791
A436 791
A439 791
作者:
daixubinbin
时间:
2022-04-17 23:55
awk '{if($0~/^[0-9]+$/){s=$0;print $0} else {print $0,s}}' file
复制代码
作者:
daixubinbin
时间:
2022-04-17 23:57
awk '{if($0~/^[0-9]+$/){s=$0;print $0} else {print $0,s}}' file
复制代码
作者:
daixubinbin
时间:
2022-04-18 10:42
awk '{if($0~/^[0-9]+$/){s=$0;print $0} else {print $0,s}}' file
作者:
wh7211
时间:
2022-06-09 15:59
回复
1#
2013fish
cat 1
234
A001
A003
A005
A007
568
A123
A127
A129
A134
791
A567
A568
A561
A431
A436
A439
awk '/^[0-9]+$/{a=$0}/^A/{$2=a}1' 1
234
A001 234
A003 234
A005 234
A007 234
568
A123 568
A127 568
A129 568
A134 568
791
A567 791
A568 791
A561 791
A431 791
A436 791
A439 791
复制代码
作者:
ll251
时间:
2022-07-01 10:54
sed -r '/^[0-9]/{h};/^A/{G;s/\n/ /;}' 1
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2