小编NEH*_*ARY的帖子

用字符替换特定列中的空格

我有格式的数据

A  ((!(A1+A2)))
B  (A1+A2)
C  (A1 A2)
D  (!(A1 A2) B1)
E  (!A1+!A2)
F  ((A1+A2) A3 A4)
G  ((A1 A2)+(A3 A4))
Run Code Online (Sandbox Code Playgroud)

我想输出为

A  ((!(A1+A2)))
B  (A1+A2)
C  (A1&A2)
D  (!(A1&A2)&B1
E  (!A1+!A2)
F  ((A1+A2)&A3&A4)
G  ((A1&A2)+(A3&A4))
Run Code Online (Sandbox Code Playgroud)

因此,每当 column2 中有空间时,我都希望将其替换为& 我尝试过的

sed 's/ /&/2' file
Run Code Online (Sandbox Code Playgroud)

但是没有变化我也试过了

awk -F' ' '{if($2==" ")$2="&";}1' file
Run Code Online (Sandbox Code Playgroud)

这也没有改变只取回输入文件。

awk sed

3
推荐指数
1
解决办法
57
查看次数

python 中的 sed 命令

我的输入是

Type combinational  function (A B)
Run Code Online (Sandbox Code Playgroud)

想要输出是

Type combinational 
function (A B)
Run Code Online (Sandbox Code Playgroud)

我使用了代码及其工作原理

sed 's/\([^ ]* [^ ]*\) \(function.*\)/\1\n\2/' Input_file
Run Code Online (Sandbox Code Playgroud)

当我在 python 脚本中使用这段代码时os.systemsubprocess它给了我错误。我怎样才能sed在 python 脚本中执行这个。或者我如何为上面的内容编写Python代码sed code。使用的Python代码

cmd='''
sed 's/\([^ ]* [^ ]*\) \(function.*\)/\1\n\2/' Input_file
'''
subprocess.check_output(cmd, shell=True)
Run Code Online (Sandbox Code Playgroud)

错误是

sed: -e expression #1, char 34: unterminated `s' command 
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
3753
查看次数

标签 统计

awk ×1

python ×1

sed ×1