bash - 如何使用 sed 和/或 awk 按照动态格式重新排序文件中每一行的元素
问题描述
我目前有一个文件,每一行都包含有序数据。例如:
Peter:Connor:14:40kg
George:Head:56:60kg
我有一个列表函数,它以“格式”字符串为参数。该字符串包含表示列表中每个可能元素的缩写。在此示例中,缩写为:
%N, %S, %A, %W
这些缩写可以在任何数量的字符之前或之后。
我想打印数据,使其适合接收到的字符串格式,用列表中的相应元素替换每个缩写。例如,我可能会收到:
{%A} [%W] %S %N
或者
%S|%N|%A[[%W]]
而且我需要重新排序数据,使其符合要求的格式。因为它是函数中的一个参数,所以我无法事先知道我会收到什么。
{14} [40kg] Connor Peter
对于第二个例子
Connor|Peter|14[[40kg]]
我怎样才能使用 awk 来做到这一点?
解决方案
awk 'BEGIN{FS=":"; OFS=" "}{print "{"$3"}","["$4"]",$2,$1}' inputFile
给出:
{14} [40kg] Connor Peter
{56} [60kg] Head George
和
awk 'BEGIN{FS=":"; OFS="|"}{print $2,$1,$3"[["$2"]]"}' inputFile
产量
Connor|Peter|14[[Connor]]
Head|George|56[[Head]]
推荐阅读
- tensorflow - Tensorflow 中具有分散更新的嵌套 while 循环
- python - sqlite3.OperationalError: database is locked error
- javascript - Is it possible to add Javascript UI elements to a 100% elm application?
- javascript - 使用
带有 pageKey 的标签在 VuePress 1.x 中不起作用 - ruby - 如何让 Ruby 中的输出对偶数和奇数进行排序?
- rxjs6 - 带有 RxJS 6 的模板
- mysql - bash/linux 中的引用问题
- python - Issue when running xlwings python standalone fibonacci example
- java - 如何使用基于 Hyperledger Fabric Java 链码的属性查询来获取模型
- javascript - Javascript | Generate number