簡體   English   中英

如何使用AWK附加文本

[英]How to attach text using AWK

對不起,如果我在搜尋SO時可能錯過了這一點。 我有一個具有以下結構的文本文件

AAAA21346A  
AAAA21346A  
AAAA21346A  
AAAA21346A 
.  
.  
.  

直到超過50萬記錄(一半記錄)。

我想使用awk在每行的前面附加^ N ^ 1。 如何做呢?

更新:

我的輸出必須如下所示:

AAAA21346A^N^1
AAAA21346A^N^1
AAAA21346A^N^1
AAAA21346A^N^1

直到EOF。 每條記錄后都必須有一個換行符。

** 更多說明 * ** *
我正在使用db2和linux,因此我想到了Awk。 我想做的是,我需要使用db2中的“ load from”命令並使用^作為分隔符,將數據插入3列的表中。 但是由於文本文件只包含一列,我想附加^ N ^ 1使其變成3列。 我希望你們現在都明白。

您想要的東西看起來很簡單:

awk '{print $0 "^N^1"}' data_file

添加線程ID的唯一問題是確定執行此操作的算法。 例如,交替也很容易:

awk '{printf "%s^N^%d\n", $0, (NF % 2) + 1}' data_file

以下是使用AWK的幾種其他方法:

awk 'BEGIN { ORS = "^N^1\n"} 1' inputfile

或者,更明確地說:

awk 'BEGIN { ORS = "^N^1\n"} {print}' inputfile

要么

awk 'BEGIN { OFS = "^"} {$2 = "N"; $3 = 1}1' inputfile

要么

awk 'BEGIN { OFS = "^"} {$2 = "N"; $3 = 1; print}' inputfile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM