我有一个包含下面显示的数据的文件.第一个以逗号分隔的字段可以重复任意次,并且我想在第六次重复此字段的任何值后仅打印行
例如,有八个字段1111111作为第一个字段,我想只打印这些记录的第七个和第八个
输入文件:
1111111,aaaaaaaa,14
1111111,bbbbbbbb,14
1111111,cccccccc,14
1111111,dddddddd,14
1111111,eeeeeeee,14
1111111,ffffffff,14
1111111,gggggggg,14
1111111,hhhhhhhh,14
2222222,aaaaaaaa,14
2222222,bbbbbbbb,14
2222222,cccccccc,14
2222222,dddddddd,14
2222222,eeeeeeee,14
2222222,ffffffff,14
2222222,gggggggg,14
3333333,aaaaaaaa,14
3333333,bbbbbbbb,14
3333333,cccccccc,14
3333333,dddddddd,14
3333333,eeeeeeee,14
3333333,ffffffff,14
3333333,gggggggg,14
3333333,hhhhhhhh,14
Run Code Online (Sandbox Code Playgroud)
输出:
1111111,gggggggg,14
1111111,hhhhhhhh,14
2222222,gggggggg,14
3333333,gggggggg,14
3333333,hhhhhhhh,14
Run Code Online (Sandbox Code Playgroud)
我试过的是相对于1st转换第2和第3个字段,以便我可以nawk在$7或的字段上使用$8
#!/usr/bin/ksh awk -F"," '{ a[$1]; b[$1]=b[$1]","$2 c[$1]=c[$1]","$3} END{ for(i in a){ print i","b[i]","c[i]} } ' file > output.txt
Run Code Online (Sandbox Code Playgroud) 在一个文件夹里面我有一些文件
UEDP01_20120821.csv
UEDP02_20120821.csv
UEDP03_20120821.csv
UEDP04_20120821.csv
UEDP05_20120821.csv
Run Code Online (Sandbox Code Playgroud)
只想检查所有文件是否存在.如果缺少任何一个文件,则需要创建一个具有相同名称的空文件.
例如:
UEDP01_20120821.csv
UEDP02_20120821.csv
UEDP04_20120821.csv
UEDP05_20120821.csv
Run Code Online (Sandbox Code Playgroud)
UEDP03_20120821.csv如果缺少此文件,则需要创建相同的文件.