入力順序をどのように変更しますか?

入力順序をどのように変更しますか?

次のコードは、最初から最後まで入力を押すと逆方向の出力を提供するため、入力を逆にする必要があります。どのように反転または反転できますか?

2019-05-23_07:52:04に修正済み

(printf 'g?%s?m0\n' 0005 0004 0003 0002 0001 ; printf 'wq\n') | ed -s file.txt

しかし、私がやりたいことは次のとおりです。

(printf 'g?%s?m0\n' 0001 0002 0003 0004 0005 ; printf 'wq\n') | ed -s file.txt

そして、次のように上部に出力シーケンスを取得しますfile.txt

0001
0002
0003
0004
0005

file.txtはプレイリストで、ffmpeg上記のゼロで埋められた数字は、選択されたいくつかのビデオファイル名です。プレイリストにはすでに多くのファイル名/動画があり、コンパイルする前にその一部を一番上に移動したいと思います。ただし、printf最初から最後まで並べ替える必要がある場合は、コマンドが要求するように逆の順序で入力する必要はありません。

2019-05-23_07:54:27に更新

$ cat file.txt
5575
3585
0004
7774
0003
5385
0001
8658
0002
0005

$ (printf 'g?%s?m0\n' 0001 0002 0003 0004 0005 ; printf 'wq\n') | ed -s file.txt

$ cat file.txt
0005
0004
0003
0002
0001
9374
4845
4834
4883
5848

最後のcatコマンドと出力順序をメモしてください。

ベストアンサー1

私のアドバイスはうまくいきますが、tacおそらくあなたはそれをもっと難しくしていると思います。

があり、始めにいくつかの行(たとえば、aの行)をfile.txt追加したい場合は、単に次のようにします。file.txtheader_file.txt

cat header_file.txt file.txt > new_playlist.txt

そしてやりました。

おすすめ記事