【问题标题】:Deleting first row of each csv file using sed使用 sed 删除每个 csv 文件的第一行
【发布时间】:2016-11-06 07:20:07
【问题描述】:

我正在尝试使用 sed 删除 DIR 文件夹中每个 .csv 文件的第一行:

DIR=/home/results
for filename in "$DIR"; do
        sed 1d filename.csv
done

但是,这不起作用。我是 bash 脚本的新手,如果有人告诉我如何解决这个问题,我将不胜感激。

【问题讨论】:

标签: bash csv sed


【解决方案1】:

只要做:

for f in /home/results/*.csv; do sed -i '1 d' "$f"; done

glob 模式/home/results/*.csv 匹配/home/results/ 目录中的所有.csv 文件,然后for 构造迭代文件,sed 就地删除每个文件的第一行。

【讨论】:

  • 非常感谢!这行得通,现在我想有一个新行作为第一行,我试图通过 echo "col1, col2, col3" > all.csv 来做,但它不起作用。您对此有什么建议吗?
  • @rehm20 你可以使用sedfor f in /home/results/*.csv; do sed -i '1 s/.*/col1, col2, col3/' "$f"; done
猜你喜欢
  • 1970-01-01
  • 2017-11-19
  • 2018-05-23
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2018-04-20
  • 2015-03-11
  • 2019-01-05
相关资源
最近更新 更多