我可以在 bash 的文本文件中用 rs 替换 Affx- 吗
Can I replace Affx- with rs in text file in bash
我有一个巨大的文本文件。我想用 rs
替换所有以 Affx-
开头的字符串,然后是一些数字(如 Affx-74537382
或 Affx-4374575
)(以及相同的数字,如:rs74537382
或 rs4374575
。这可以用 sed -i 's/Affx-/rs/
吗?
由于文件太大,我不确定如何验证命令是否正常工作。
您可以使用
sed -E 's/^Affx(-[0-9]+)/rs/' file > tmp && mv tmp file
详情:
-E
- POSIX 启用 ERE 语法
^
- 字符串开头
Affx
- 文字文本
(-[0-9]+)
- 第 1 组(</code> 指该组中的值):<code>-
和一个或多个数字。
参见 online demo:
#!/bin/bash
s='Blah-1233455
Affx-74537382
Some line here
Affx-4374575
End of text 123456778.'
sed -E 's/^Affx(-[0-9]+)/rs/' <<< "$s"
输出:
Blah-1233455
rs-74537382
Some line here
rs-4374575
End of text 123456778.
我有一个巨大的文本文件。我想用 rs
替换所有以 Affx-
开头的字符串,然后是一些数字(如 Affx-74537382
或 Affx-4374575
)(以及相同的数字,如:rs74537382
或 rs4374575
。这可以用 sed -i 's/Affx-/rs/
吗?
由于文件太大,我不确定如何验证命令是否正常工作。
您可以使用
sed -E 's/^Affx(-[0-9]+)/rs/' file > tmp && mv tmp file
详情:
-E
- POSIX 启用 ERE 语法^
- 字符串开头Affx
- 文字文本(-[0-9]+)
- 第 1 组(</code> 指该组中的值):<code>-
和一个或多个数字。
参见 online demo:
#!/bin/bash
s='Blah-1233455
Affx-74537382
Some line here
Affx-4374575
End of text 123456778.'
sed -E 's/^Affx(-[0-9]+)/rs/' <<< "$s"
输出:
Blah-1233455
rs-74537382
Some line here
rs-4374575
End of text 123456778.