テキスト ファイルの行を反転する必要がある小さなシェル スクリプトを作成しています。この種のことを行うための標準フィルター コマンドはありますか?
私の特定のアプリケーションは、Git コミット識別子のリストを取得していて、それらを逆の順序で処理したいということです。
git log --pretty=oneline work...master | grep -v DEBUG: | cut -d' ' -f1 | reverse
私が思いついた最善の方法は、次のreverse
ように実装することです。
... | cat -b | sort -rn | cut -f2-
これはcat
、すべての行に番号を付けてからsort
、降順で並べ替え (ファイル全体を逆にすることになります)、cut
不要な行番号を削除するために使用します。
上記は私のアプリケーションでは機能しますが、cat -b
空白以外の行にのみ番号を付けるため、一般的なケースでは失敗する可能性があります。
これを行うためのより良い、より一般的な方法はありますか?