r*****t 发帖数: 4793 | 1 【 以下文字转载自 Linux 讨论区 】
发信人: ravecat (八三年的赵英俊), 信区: Linux
标 题: 请问如何用sort命令给数据排序?
发信站: BBS 未名空间站 (Thu Oct 3 02:24:32 2013, 美东)
我有两个文件F1和F2,F1和F2的column 1 是同类字符但是顺序不同
我想把文件F2里的各行,按照文件F1 的column 1 排序,应该如何做? |
m*******l 发帖数: 12782 | 2 awk 'BEGIN {j = 0} { if (content[$1] != "" ) { content2[j $1] = $0 ; j++ ; }
else { content[$1] = $0 ; } } END { for ( i in content2 ) print i,
content2[i] ; } ' F1.dat F2.dat | sort | awk '{ $1="" ; print ; }'
【在 r*****t 的大作中提到】 : 【 以下文字转载自 Linux 讨论区 】 : 发信人: ravecat (八三年的赵英俊), 信区: Linux : 标 题: 请问如何用sort命令给数据排序? : 发信站: BBS 未名空间站 (Thu Oct 3 02:24:32 2013, 美东) : 我有两个文件F1和F2,F1和F2的column 1 是同类字符但是顺序不同 : 我想把文件F2里的各行,按照文件F1 的column 1 排序,应该如何做?
|
m*******l 发帖数: 12782 | 3 assumption, every `column 1` in F2.dat should appear at least once in F1.dat
}
【在 m*******l 的大作中提到】 : awk 'BEGIN {j = 0} { if (content[$1] != "" ) { content2[j $1] = $0 ; j++ ; } : else { content[$1] = $0 ; } } END { for ( i in content2 ) print i, : content2[i] ; } ' F1.dat F2.dat | sort | awk '{ $1="" ; print ; }'
|
r*****t 发帖数: 4793 | 4 这就是问题了,我不能保证every `column 1` in F2.dat should appear at least
once in F1.dat。很可能有的`column 1` in F2在F1中找不到
另外,我希望生成一个新文件(比如F3),作为F2从新排序后的文件
dat
【在 m*******l 的大作中提到】 : assumption, every `column 1` in F2.dat should appear at least once in F1.dat : : }
|
m*******l 发帖数: 12782 | 5 it is still doable, you can first the total lines of F1
and change my awk a little bit
produce a new file is easy , use '> f3.dat'
【在 r*****t 的大作中提到】 : 这就是问题了,我不能保证every `column 1` in F2.dat should appear at least : once in F1.dat。很可能有的`column 1` in F2在F1中找不到 : 另外,我希望生成一个新文件(比如F3),作为F2从新排序后的文件 : : dat
|
r*****t 发帖数: 4793 | 6 多谢!但是我不太明白这句话的意思
“you can first the total lines of F1 and change my awk a little bit”
【在 m*******l 的大作中提到】 : it is still doable, you can first the total lines of F1 : and change my awk a little bit : produce a new file is easy , use '> f3.dat'
|
m*******l 发帖数: 12782 | 7 use 'wc -l` to get how many lines in F1
【在 r*****t 的大作中提到】 : 多谢!但是我不太明白这句话的意思 : “you can first the total lines of F1 and change my awk a little bit”
|