我试图在文件的每一行末尾放一个字符:
a
aa
aaa
aah
aahed
aahing
aahs
aal
aalii
aaliis
使用sed/awk:
awk '{print $0 "A"}' words_alpha.txt > words_alpha_hyp.txt
sed -i 's/$/A/' words_alpha.txt > words_alpha_hyp.txt
我总是用字符"a"作为前缀:
A
A
Aa
Ah
Ahed
Ahing
Ahs
Al
Alii
Aliis
Als
Am
Ani
Ardvark
Ardvarks
有趣的是,如果我尝试在字符"a"之前"\n":
awk '{print $0 "n a"}' words_alpha.txt > words_alpha_hyp.txt
a
a
aa
a
aaa
a
aah
a
aahed
a
aahing
a
aahs
a
aal
a
我做它应该做的事…我不明白…
您的输入文件很可能有DOS CRLF行终止符,即n
不是rn
。修改您的记录分隔符以处理这些行,需要GNUawk
才能使用多字符记录分隔符
awk -v RS="rn" '{ $0 = $0 "a" }1' file
或者通过执行dos2unix file
将文件转换为*nix行结尾的n
,然后再次运行原始命令。