-4

让 A,B,C,D,E,F 是单词

输入文件

A "\t" B

C "\t" D

E "\t" F

ETC...

输出文件:

B "\t" C

D "\t" E

F "\t" etc...

在同一行将单词 A 替换为单词 B,并将下一行中的单词 B 替换为单词 C。就像其他行一样明智。

有任何 sed/awk/perl oneliner 来实现这一点吗?

4

2 回答 2

1

一种awk没有正则表达式的方法:

awk '
BEGIN { FS=OFS="\t" } 
NR==1 { last=$NF; next }
      { last=last FS $1; print last; last=$NF}
END   { print $NF }' file
于 2013-07-22T00:26:19.980 回答
0

这是 bash 的一种方式

$ cat f
A   B
C   D
E   F

$ words=( $(<f) )

$ unset 'words[0]'

$ printf "%s\t%s\n" "${words[@]}"
B   C
D   E
F   
于 2013-07-22T00:59:48.433 回答