我将三星A411的所有手机通讯录放在一个大文件中,然后导入三星Galaxy S3手机/联系人。
只有一个字段我无法做出标准&替换'用,凯特。这是我需要做的:
N:米老鼠
替换为..
N:鼠标;米奇;;;
答案 0 :(得分:1)
使用sed:
sed -r 's/N:(\w*) (\w*)/N:\2;\1;;;/g' file.txt
使用s command的说明:
s/
N: # literal string "N:" ┐
( # begin of capture group │
\w # any word character │
* # ...repeated 0 or more times ├ regex
) # end of capture group │
# literal " " (space) │
(\w*) # same capture group as above ┘
/
N: # literal string "N:" ┐
\2 # backreference to 2nd group │
; # literal ";" ├ replacement
\1 # backreference to 1st group │
;;; # literal ";;;" ┘
/
g # apply to all matches ] flags
为了便于阅读,我使用sed -r
(扩展正则表达式)以避免转义命令中的每个括号。
答案 1 :(得分:0)
“N”记录现在没问题,并且没有“N”重复。然而, “FN”系列已被替换。不应修改“FN” 所有
要仅替换以N:
开头的行,请插入^
(匹配行的开头),i。即
sed -r 's/^N:…