Duplicate

複製和更改文件內容

  • August 2, 2019

我想知道是否有人可以建議一種複製文件內容的方法,以使副本被更改?

例如文件預複製:

Nempar|EIJ87098.1  
Ecanceri|ORD93056.1

文件後複製:

Nempar|EIJ87098.1  
Ecanceri1|ORD93056.1  
Nempardup|EIJ87098.1  
Ecanceridup|ORD93056.1

我不需要在任何特定位置或任何特定角色中進行更改。只是它標記了重複項。

目前,我只是在使用:

cat file.txt file.txt > file.dup.txt

有什麼辦法可以在此基礎上添加,還是 cat 太簡單了?

試試這個,

(cat file.txt && awk -F '|' '{print $1"dup|"$2}' file.txt) > file.dup.txt


cat file.dup.txt 

Nempar|EIJ87098.1
Ecanceri|ORD93056.1
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1

或使用 sed:

(cat file.txt && sed 's/|/dup|/g' file.txt) > file.dup.txt

您可以使用ed替換(全域)一些給定PATTERNfileREPLACEMENT然後將(W)結果附加到原始內容file

給定

$ cat file
Nempar|EIJ87098.1
Ecanceri|ORD93056.1

然後

$ ed -s file << 'EOF'
,s/|/dup|/
Wq
EOF

結果

$ cat file
Nempar|EIJ87098.1
Ecanceri|ORD93056.1
Nempardup|EIJ87098.1
Ecanceridup|ORD93056.1

引用自:https://unix.stackexchange.com/questions/533585