开发者社区> 问答> 正文

如何从文件夹中的所有文件中删除带有特定字符串的行

我正在寻找从文件中删除所有行的方法(对于文件夹中的所有文件)都具有字符串#,并且还复制文件名并将其添加为第一列(或最后一列):

例如,我有:

# DX 
# DEPTH 
MD   DX  DY
100  23  35
100  23  35

输出应该是这样的,假设文件名为test2:

test2 MD   DX  DY
test2 100  23  35
test2 100  23  35

谢谢,S

展开
收起
祖安文状元 2020-01-08 15:01:28 509 0
1 条回答
写回答
取消 提交回答
  • 使用简单的bash结构,遍历每个文件的每一行,将行和文件名另存为变量,然后在文件中的每一行将两个变量一起打印。

    for file in *; do
      for (( i = 1 ; i <= $( grep "" -c $file ) ; i++ ); do
        line=$( cat $file | head -n ${i} | tail -1 )
        echo "${file} ${line}"
      done
    done
    
    2020-01-08 15:01:35
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

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