首页 > 解决方案 > 从文件bash替换字符串中的点

问题描述

我正在尝试替换文件中的字符串,内容如下:

node11d:hostname1:KY home node11d 202014
node2:hostname1:KY home node2 202014
node3c1:hostname1:KY home node3c1 202014

我想要这个输出:

hostname1 home node11d 202014
hostname1 home node2 202014
hostname1 home node3c1 202014

谢谢!

标签: bash

解决方案


您可以使用 awk:

awk -F"[: ]" '{print $2,$4,$5,$6}' yourfile

这只是用冒号或空格(分成列)将每一行分开,然后打印出第 2、4、5 和 6 列。显然,如果您的文件基于此拆分在列数上有所不同,那么您将必须获得更多创意。


推荐阅读