开发者社区> 问答> 正文

从文本文件第一行的开头删除匹配的模式

我正在尝试-import_file从文本文件第一行的开头删除匹配的模式()。使用sedvs. awk似乎是可行的方法。

尝试

sed -i 's/^-import_file//g' /home/weather/f00.txt
f00.txt

-import_file file1 -rpn sto_1
-import_file file2 -rpn sto_2
-import_file file3 -rpn sto_3
-import_file file4 -rpn sto_4
-import_file file5 -rpn sto_5
-import_file file6

在第1行开始时,这似乎并没有对第一个匹配的模式做任何事情。

展开
收起
祖安文状元 2020-01-06 16:24:45 400 0
1 条回答
写回答
取消 提交回答
  • 请尝试使用这种近似等效的POSIX AWK解决方案(从编辑行中删除前导空格):

    awk 'NR==1 {$1=""; print substr($0,2); next} 1' ~weather/f00.txt > temp && mv temp ~weather/f00.txt
    
    

    我无法在您的计算机上复制您的问题。

    $ sed --version |head -1
    sed (GNU sed) 4.4
    
    ```js
    $ sed '1s/^-import_file//g' ~weather/f00.txt
     file1 -rpn sto_1
    -import_file file2 -rpn sto_2
    -import_file file3 -rpn sto_3
    -import_file file4 -rpn sto_4
    -import_file file5 -rpn sto_5
    -import_file file6
    
    
    2020-01-06 16:25:05
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载