bash-shell替换特定列之间的分离器


input file:
cat file1.txt
^AirIfLoadProfile=1$ trafficModelPrb bitRatePerQci=0 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$ trafficModelPrb bufferStatus=1
^AirIfLoadProfile=1$ trafficModelPrb noOfArtificialUsers=0
^AirIfLoadProfile=1$ trafficModelPrb qciDistSinrHigh=0 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$ trafficModelPrb qciDistSinrLow=0 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$ trafficModelPrb qciDistSinrMedium=100 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$ trafficModelPrb ulDlRatioPerQci=0 0 0 0 0 0 0 0 0
output file:
cat file2.txt
^AirIfLoadProfile=1$;trafficModelPrb;bitRatePerQci=0 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$;trafficModelPrb;bufferStatus=1
^AirIfLoadProfile=1$;trafficModelPrb;noOfArtificialUsers=0
^AirIfLoadProfile=1$;trafficModelPrb;qciDistSinrHigh=0 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$;trafficModelPrb;qciDistSinrLow=0 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$;trafficModelPrb;qciDistSinrMedium=100 0 0 0 0 0 0 0 0
^AirIfLoadProfile=1$;trafficModelPrb;ulDlRatioPerQci=0 0 0 0 0 0 0 0 0

在第2列之间的第1列中的空间分离器和第3列之间的第2列用分号替换。文件2是输出。

sed之后可能会帮助您。

sed 's/ /;/1;s/ /;/1'   Input_file

我用;(半结肠)在线中代替第一个空间,然后再次使用;(半结肠)更改第一个空间因此,我们只需要在sed命令中使用/1才能将第一空间放置。

最新更新