问题
I have an input and which to replace certain (row,column) . I have done to replace the (row,Columnn) that needed but how come the whole line formate was shift? Any code need to add in to prevent the format changes?
Code that i am using to replace the (row,column)
cat abc.txt | awk '$1 ~/^0(1?[0-9])|^00(1?[0-9])$/' | awk '{ if (NR==2) $8="9" ;if ($8 == "9") $66="9";print}'
Input File
024 1 1 1 1 1 1 1 1 1 1 248 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1^M
025 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1^M
026 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1^M
Output File
024 1 1 1 1 1 1 1 1 1 1 248 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
025 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 1 1 1 1
026 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
回答1:
cat inputfile | awk '$1 ~/^0(1?[0-9])|^00(1?[0-9])$/' | awk '{ if (NR==2) $8="9" ;if ($8 == "9") $66="9";print}'|column -t
来源:https://stackoverflow.com/questions/35644415/linux-how-to-make-the-space-similar-with-previous