私は、ファイルのスペースを余白/文字制約内でハードラップするように強制する簡単な方法を研究しています。つまり、どの行も n 文字より長くすることはできず、改行は単語の間にあります。私はBBEditで働いています:
Find: (.{1,26})(\h+\R?|\R)
Replace: \1\n
ただし、sed(MacOS 12 zsh)では機能しません。
私が得た最も近いものは次のとおりです。
sed -i .bak -E 's#(.{1,26})(\h+\R?|\R)#\1\n#g' file.txt
ただし、単語の途中で行をラップして一部の行を完全に見逃すので、制限(この場合は26行)をはるかに超えてしまいます。 sedコマンドで\s \tと\nを試しましたが、何も機能しません。私が見逃した他の構文、またはより適切な他のコマンドがありますか?ありがとうございます。
ベストアンサー1
どうですか?
sed -r 's/(.{1,26}) /\1\n/g' file.txt
何を意味するのか理解できないことを認めなければなりません(\h+\R?|\R)
。何か複雑なことが起こっているのかもしれません。