Bash 中的换行问题

Bash 中的换行问题

我希望这不是重复的,我自己还没有找到它所以......我有这个问题:当我这样做时: echo "some very long text"

它会破坏一些单词,例如,如果我在行尾附近使用单词“elephant”,它会变成“eleph\nant”。但是当我收到错误消息或其他信息时,它总是将整个单词连在一起。我遗漏了什么吗?如何设置此格式?

提前致谢 :)

答案1

我担心您不想这样做,但是这个脚本应该可以做一些您想要的事情:

#!/bin/bash

input=$(cat)
line=""
max=$1

for word in $input; do
  if (( (${#line} + ${#word} + 1) > max )); then
    echo "$line"
    line=""
  fi

  line+="$word"
  line+=" "
done

echo $line

用法: cat text_file.txt | bash the_script.sh $COLUMNS

相关内容