Sed 用同一行上指定的另一项替换行中的项。。如何对多行执行此操作?
我对使用linux和命令行非常陌生,但我学习它是为了工作。我可以做大部分的基础工作,但是我被困在一些事情上 我当前有一个.txt文件,如下所示: A B 1 1 0 0 0 1 0 1 0 B F 1 0 0 1 0 1 1 0 1 F G 0 0 0 0 0 0 0 1 0 即,每行开头有两个字母-同一行中的每个数字“0”对应第一个字母,同一行中的每个数字“1”对应第二个字母。它是以空格分隔的 我想做的是用该行上的相应字母替换每个0和1 因此,上述段落将变成: A B B B B A A B A B A B F B B F B F F F B F F F F F F F F F F F F F F F 有人知道我如何使用awk或sed(或更好的方法)来实现这一点吗 谢谢大家! 使用Sed 用同一行上指定的另一项替换行中的项。。如何对多行执行此操作?,sed,awk,Sed,Awk,我对使用linux和命令行非常陌生,但我学习它是为了工作。我可以做大部分的基础工作,但是我被困在一些事情上 我当前有一个.txt文件,如下所示: A B 1 1 0 0 0 1 0 1 0 B F 1 0 0 1 0 1 1 0 1 F G 0 0 0 0 0 0 0 1 0 即,每行开头有两个字母-同一行中的每个数字“0”对应第一个字母,同一行中的每个数字“1”对应第二个字母。它是以空格分隔的 我想做的是用该行上的相应字母替换每个0和1 因此,上述段落将变成: A B B B B A A B
gsub
:
$ awk '{gsub(0, $1); gsub(1, $2)} 1' your_file
A B B B B B A A A A B A B A
B F F B B B F F B F F F B F
F G F F F F F F F F F F G F
将每个gsub(0,$1)
替换为0
。$1
是第一个字段$1
将每个gsub(1,$2)
替换为1
。第二个字段是$2
$2
- 这些命令被括在括号内,用于打印输出,并写入真实条件,如
,从而完成默认awk行为(1
)print$0
- 使用
gsub
:
$ awk '{gsub(0, $1); gsub(1, $2)} 1' your_file
A B B B B B A A A A B A B A
B F F B B B F F B F F F B F
F G F F F F F F F F F F G F
将每个gsub(0,$1)
替换为0
。$1
是第一个字段$1
将每个gsub(1,$2)
替换为1
。第二个字段是$2
$2
- 这些命令被括在括号内,用于打印输出,并写入真实条件,如
,从而完成默认awk行为(1
)print$0
- 使用
gsub
:
$ awk '{gsub(0, $1); gsub(1, $2)} 1' your_file
A B B B B B A A A A B A B A
B F F B B B F F B F F F B F
F G F F F F F F F F F F G F
将每个gsub(0,$1)
替换为0
。$1
是第一个字段$1
将每个gsub(1,$2)
替换为1
。第二个字段是$2
$2
- 这些命令被括在括号内,用于打印输出,并写入真实条件,如
,从而完成默认awk行为(1
)print$0
- 使用
gsub
:
$ awk '{gsub(0, $1); gsub(1, $2)} 1' your_file
A B B B B B A A A A B A B A
B F F B B B F F B F F F B F
F G F F F F F F F F F F G F
将每个gsub(0,$1)
替换为0
。$1
是第一个字段$1
将每个gsub(1,$2)
替换为1
。第二个字段是$2
$2
- 这些命令被括在括号内,用于打印输出,并写入真实条件,如
,从而完成默认awk行为(1
)print$0