我想转换:
Hello Hello Hi Hello Hello Hi Hi Hi Hi Hello
到:
Hello Hello Hi Hello
Hello Hi Hi Hi Hi Hello
我想将一行拆分成两行,方法是让它们具有尽可能最接近的字符数,而不会截断一个单词。
我想我可以使用 wc -w、wc -c、cut 和/或 awk 来完成它,但也许你们可以提供一些更好的想法!
答案1
您没有提供更多信息,因此我假设您将字符串放在名为 的变量中YOUR_STRING
。这可以轻松适应处理文件等。
首先确定字符串长度的一半,然后加 1(否则最终会得到 3 行而不是 2 行):
CHARS=$((`echo $YOUR_STRING | wc -c` /2 + 1))
接下来,使用fold
命令来换行:
echo $YOUR_STRING | fold -sw $CHARS
结果:
Hello Hello Hi Hello
Hello Hi Hi Hi Hi Hello
请参阅man fold
以了解更多信息。