以下sed命令如何工作?

时间:2017-02-27 04:49:30

标签: unix sed

任何人都可以帮我理解下面的sed命令吗?

这些是我正在使用的值:

InsertPoint - 2
TOT - 15
Count-它是csv文件,输入到此命令。

sed -e ''"${InsertPoint}"'s/^[^,]*,//' -e ''"${InsertPoint}"'s/$/, '"${TOT}"'/' ${Count}

我需要知道,他们用什么替代了什么?

1 个答案:

答案 0 :(得分:0)

此处有两个替换命令,应用于文件的第2行。第一个字段删除第一个字段,第二个字段在行尾添加一个字段,值为15

使用sed的基本替换命令具有语法s/old text/replacement text/,其中s前面可以有一个行号来应用命令,因此:

  • '"${InsertPoint}"':第2行(值${InsertPoint}
  • s/^[^,]*,//通过从行首(^)替换任意数量的非逗号字符([^,]*)后跟逗号(,)来删除第一个字段(//
  • '"${InsertPoint}"':第2行
  • s/$/, '"${TOT}"'/:通过将行尾$替换为15(值为${TOT})来添加新字段
  • sed命令应用于${Count}值文件