Linux命令:给文件非首行及非#开头行添加前缀E_
解决方法:为指定行添加前缀并保留首行与注释行
你之前的命令没有排除首行,导致表头也被添加了前缀。可以用以下sed命令实现需求:
sed -i -E '1!{/^#/!s/^/E_/}' input.csv
命令拆解:
1!:明确跳过第一行(表头)不处理{/^#/!s/^/E_/}:仅对非首行的内容进行判断和操作:/^#/!:排除所有以#开头的行(比如#END_OF_FILE)s/^/E_/:对符合条件的行,在开头插入E_前缀
执行该命令后,input.csv的内容会和你预期的一致:
EMP_ID,EMP_NAME,JOINING_DATE,SALARY E_1,T Natarajan,22-APR-2024,6000000 E_2,Velmurugan,22-JUL-2024,2000000 E_3,Rowin,21-OCT-2024,5000000 #END_OF_FILE
内容的提问来源于stack exchange,提问作者Vasanth Subramanian
相关产品推荐
相关产品推荐

