如何将多行输入转换为单行/多行输出| BASH

  • 本文关键字:单行 输出 BASH 转换 bash shell
  • 更新时间 :
  • 英文 :


我真正想要的

输入:

<int> 
45
</int>
<string>
Name
</string>

输出:

<int> 45 </int>
<string> Name </string>

这是我到目前为止为上面期望的输出所做的(需要调整):

printf "please enter some values n"
readarray -t arr 
echo "" ${arr[@]} && cat >> input.txt

我的输出:<int> 45 </int> <string> Name </string>

使用printf

$ printf '%s %s %sn' $(cat input.txt)
<int> 45 </int>
<string> Name </string>

当你想要合并每3行时,你可以使用

cat inputfile | paste -d " " - - -

当值可以包含多行时,可以使用

tr -d 'n' < inputfile | sed 's#</[^>]*>#&n#g'

或与awk:

awk '/</.*>/ {print; next} {printf $0}' inputfile

相关内容

  • 没有找到相关文章

最新更新