🖋️
小説用に行頭下げするシェルスクリプト
小説用に行頭下げするシェルスクリプト
タイトルの通り、小説用にファイルを上書きして行頭下げをするシェルスクリプトです。
「Github Actions
で行頭下げがしたい!」という既知の宇宙でわたしぐらいにしかなさそうな需要のために作りました。
使い方
sh indenter.sh target.txt
target.txt
あいうえお。
かきくけこ。さしすせそ。
「たちつてと」
なにぬねの。
ディレクトリまるごと
#!/bin/bash
files=$(find /your/directory -maxdepth 1 -type f)
for file in $files; do
sh indenter.sh "$file"
done
青空文庫を使って手元でいくつか確認しましたが、20万字くらいが複数あってもさくっと終わっていました。
ファイルを上書きするのでバックアップを取ってから実行してください。
制限
-
UTF-8
/LF
にのみ対応 - ファイルの最後に改行が必要[1]
感想
なんかいけてねぇな……? という気はするんですがシェルスクリプトって正解がわからないんですよね。
文章を全文メモリ上に展開しちゃってますが、ログとかと違って行頭下げが必要なテキストってそこまでファイルサイズが膨れ上がることはないので大丈夫かなと思ってます。
おしまい。
参考
調べた既存サービス
まさにこれが欲しいんだけどディレクトリ内のテキストを一括で修正したいので使えず。
いたれりつくせりだがnode
のRuntime入れるのはしんどい。
情報元
-
sed
がやめてって言ってるのに改行じゃなくても最終行吹っ飛ばす!!!sed
!!!!いつも言うこと聞かない!!!! ↩︎
Discussion