![如何使用 sed 命令替换单词的一部分](https://linux22.com/image/194280/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20sed%20%E5%91%BD%E4%BB%A4%E6%9B%BF%E6%8D%A2%E5%8D%95%E8%AF%8D%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86.png)
我有一个文件,每一行只有一个单词。我想删除每行中单词的某些部分。如何使用 sed 命令删除该部分?前任:
u_fox/u_snake/u_snail/u_plus/u_core/u_vector/u_divider_rad4_0_1/instanceFE_OFC209016_vx0_srcb_fdivsqrt_44(code0_lo6_poic_hpc_int3_vcell05p00)
我想删除这部分:(code0_lo6_poic_hpc_int3_vcell05p00)
,基本上括号内的任何内容,包括括号。
文件中的所有其他行都遵循类似的模式。
答案1
sed -e 's/(.*)//' file
这是删除以 开头的(
任意数量的字符(用点 ( .*
) 表示,以 结尾的字符串))
。这将发生在具有此序列的每一行上。
答案2
$ cut -d'(' -f1 file
u_fox/u_snake/u_snail/u_plus/u_core/u_vector/u_divider_rad4_0_1/instanceFE_OFC209016_vx0_srcb_fdivsqrt_44
答案3
使用 grep:
grep -o '^[^(]*' file
带栏:
column -ts'(' -H2 file
答案4
Below mentioned Awk command will do
awk -F "(" '{print $1}' filename ==========>This will display output
awk -F "(" '{print $1}' filename >tmpfile && mv tmpfile filename ======> If you want to save output in exsisting file