bash - 从文件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
谢谢!
解决方案
您可以使用 awk:
awk -F"[: ]" '{print $2,$4,$5,$6}' yourfile
这只是用冒号或空格(分成列)将每一行分开,然后打印出第 2、4、5 和 6 列。显然,如果您的文件基于此拆分在列数上有所不同,那么您将必须获得更多创意。
推荐阅读
- python - 这是 seaborn.lineplot 色调参数中的错误吗?
- java - @Cacheble 和 @Scheduled 在 Spring Boot 应用程序中同时启动
- javascript - 如何在没有严格模式的情况下执行 deno?错误:未捕获的 SyntaxError:标识符“列表”已被声明
- amazon-web-services - 并行运行 lambda 或更好的方法
- powershell - Powershell复制具有特定数字的多个文件
- javascript - 如何在javascript中对具有嵌套数组的对象进行排序
- xamarin.forms - 将 Xamarin Forms 与 Prism 一起使用时,“public App() : this(null) { }”有什么作用
- c - 我正在为字符串编写一些函数,但是 realloc 有问题
- c# - Read variables in Twincat 3 continously with the C# API
- dask - Dask 计算图可以保留中间数据,因此不需要重新计算吗?