Text-Processing
如何反轉輸入順序?
以下程式碼在從頭到尾輸入時提供反向輸出,因此要求輸入是反向的。這怎麼能被翻轉/逆轉?
於 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
命令和輸出的順序。
( printf 'g?%s?m0\n' 0005 0004 0003 0002 0001 | tac ; printf 'wq\n' ) | ed -s file.txt
這反轉了
ed
第一個生成的命令printf
。
儘管我的建議
tac
奏效了,但我認為也許你讓這件事變得更加困難。如果您有
file.txt
,並且您只是想在 的開頭添加一些行file.txt
,例如您在 a 中的行header_file.txt
,您可以簡單地執行以下操作:cat header_file.txt file.txt > new_playlist.txt
並做了。