だから、次のファイルがあります。
First Line
Second Line
Third Line
3 0.374
2 0.777
1 0.245
Fourth Line
4 0.687
...
intで始まる行がintで参照される行に追加されるように再構成したいと思います。
First Line 0.245
Second Line 0.777
Third Line 0.374
Fourth Line 0.687
...
ベストアンサー1
POSIXの使用awk
:
awk '$1 in a {print a[$1], $0; next}; {a[++l] = $0}' <file
参照線の前にint行が表示されると、出力がソートされずに失われることに注意してください。
そしてgawk
またはbwk-awk
、ソートされた出力を簡単に印刷できます。
gawk '
$1 in a { a[$1] = a[$1] " " $0; next }
{ a[++l] = $0 }
END { for (i = 1; i <= length(a); i++) print a[i] }
' <file
他のawk
実装では、配列インデックスを並べ替える関数を直接作成する必要があります。
これはまた、ファイル全体の内容をメモリに保持します。