特定の文字列(005や007など)を含む行をターゲットファイルの先頭に移動するにはどうすればよいですか?
ターゲットファイルの内容:
XXX_008
XXX_001
XXX_002
XXX_009
XXX_003
XXX_006
XXX_005 ----> located here
XXX_007 ----> and here
XXX_004
XXX_005
行を一番上に移動するにはXXX_007
?残りのファイルの順序を維持しますか?このように:
XXX_005 ----> now here
XXX_007 ----> and here
XXX_008
XXX_001
XXX_002
XXX_009
XXX_003
XXX_006
XXX_004
残りは元の順序で維持されます。
...any-name_001、any-name_002などのように常に数字に二重ゼロを追加するので、行を移動するときに数字のみを指定できるとよいでしょう。
これは可能ですか?
ベストアンサー1
努力する:
<file gawk '/_005/,/_007/ {
top[i++]=$0
next
}
{
botom[j++]=$0
}
END {
for(k in top)
print top[k]
for(k in botom)
print botom[k]
}'