Tux*_*ife 1 string bash awk cut wc
我想转换:
Hello Hello Hi Hello Hello Hi Hi Hi Hi Hello
Run Code Online (Sandbox Code Playgroud)
成:
Hello Hello Hi Hello
Hello Hi Hi Hi Hi Hello
Run Code Online (Sandbox Code Playgroud)
我想在2中分割一行,使它们具有尽可能最接近的字符数,而不会切断单词.
我想我也许可以与做到这一点wc -w,wc -c,cut,和/或awk,但也许你们能提供一些更好的想法!
fed*_*qui 10
这可以是一个工作fold,一个方便的包装线:
$ s="Hello Hello Hi Hello Hello Hi Hi Hi Hi Hello"
$ fold -w $(( ${#s} / 2 + 1)) -s <<< "$s"
Hello Hello Hi Hello
Hello Hi Hi Hi Hi Hello
Run Code Online (Sandbox Code Playgroud)
这用于fold将每一行包装到给定长度.我们如何计算长度?只需使用${#variable}并除以2(+1以防止如果长度为奇数则获得三行).然后我们-s用来防止破词.
来自man fold:
fold - wrap each input line to fit in specified width
-s, --spaces
break at spaces
-w, --width=WIDTH
use WIDTH columns instead of 80
Run Code Online (Sandbox Code Playgroud)