【问题标题】:UNIX Command to remove the last character of 2 specific fields in multiple files用于删除多个文件中 2 个特定字段的最后一个字符的 UNIX 命令
【发布时间】:2023-03-24 08:20:01
【问题描述】:

我可以知道如何编写一个 Unix 命令来删除所有行和多个文件中的 2 个特定字段(第 28 和 30 列)的最后一个字符。

删除前文件 1 的示例:

0,0,1,14289067,10114404,145,60104212839,1,1,1,8801971507671,1,60104212839,1,8801971507671F,4,170523,170523,1,1,235045,235045,0,0,255,1,0,BMRBGBO,0,BWGKPEI,16758,2,6,00000000000,8801971507671,0,0,,FFFFFFFFFFFFFFFFFFFFFFFF,3
1,14286085,10114405,142,601124225298,1,1,1,1062895388906858,1,601124225298,1,1062895388906858F,41,170523,170523,1,1,235045,235045,0,1,255,1,0,BINDMAO,0,BWGKPAI,39285,2,6,00000000000,62895388906858,0,,FFFFFFFFFFFFFFFFFFFFFFFF,2

删除文件 1 中字段 28 和 30 中的最后一个字符后:

0,0,1,14289067,10114404,145,60104212839,1,1,1,8801971507671,1,60104212839,1,8801971507671F,4,170523,170523,1,1,235045,235045,0,0,255,1,0,BMRBGB,0,BWGKPE,16758,2,6,00000000000,8801971507671,0,0,,FFFFFFFFFFFFFFFFFFFFFFFF,3
1,14286085,10114405,142,601124225298,1,1,1,1062895388906858,1,601124225298,1,1062895388906858F,41,170523,170523,1,1,235045,235045,0,1,255,1,0,BINDMA,0,BWGKPA,39285,2,6,00000000000,62895388906858,0,,FFFFFFFFFFFFFFFFFFFFFFFF,2

然后我想继续下一个文件,即文件 2,并重复与上述相同的过程。然后这应该一直持续到目录中的所有文件都完成为止。

非常感谢任何帮助。谢谢!

【问题讨论】:

    标签: unix command


    【解决方案1】:

    您可以剪切将分隔符指定为逗号的字段。然后您执行 sed 命令以使用替换删除您需要的字符。

    cat filename | cut -d',' -f28 |sed s/(.*)./$1/g;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      • 2012-01-11
      相关资源
      最近更新 更多