走进云原生 走进云原生
首页
走进Kubernetes
  • bash shell
  • 分类
  • 标签
  • 归档
关于
友情链接
GitHub (opens new window)

幕轻寒(xiaomudk)

首页
走进Kubernetes
  • bash shell
  • 分类
  • 标签
  • 归档
关于
友情链接
GitHub (opens new window)
  • bash shell

    • 把多行文件合并成一行
  • 更多
  • bash shell
幕轻寒
2022-07-13

把多行文件合并成一行

原文件为:

# cat 1.txt 
123
456
akdjf
adkflja
1
2
3
4
5

使用awk:

# awk 1 ORS=' ' 1.txt        #相当于 awk 'BEGIN{ ORS=" "; } { print $0 }' 1.txt; awk 后面的1,是true的意思
123 456 akdjf adkflja 

# awk '{printf "%s ", $0} END {printf "\n"}' 1.txt    
123 456 akdjf adkflja 
1
2
3
4
5

使用sed:

# sed ':a;N;$!ba;s/\n/ /g' 1.txt 
123 456 akdjf adkflja
1
2

使用shell

# while read line; do printf "%s" "$line ";done < 1.txt
123 456 akdjf adkflja 
1
2

使用tr

# tr '\n' ' ' < 1.txt 
123 456 akdjf adkflja

如果中间不加空格的话
# tr -d '\n' < 1.txt     
123456akdjfadkflja
1
2
3
4
5
6

使用xargs,会自动按空格分割:

# cat 1.txt |xargs
123 456 akdjf adkflja
1
2
上次更新: 2022/07/13, 16:00:22
Theme by Vdoing | Copyright © 2019-2023 | 幕轻寒(xiaomudk) | 赞助商:
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式