linux – 在Unix shell中压缩列之间的空格
发布时间:2020-12-31 04:30:00 所属栏目:Linux 来源:网络整理
导读:我希望在两列之间删除空格. 从 shell运行sql查询后,我得到如下输出: 23554402243 0584940772;2TZ0584940772001U;23554402272 0423721840;7TT0423721840001B;23554402303 0110770863;BBTU500248822001Q;23554402305 02311301;BTB02311301001J;23554402563
我希望在两列之间删除空格.
23554402243 0584940772;2TZ0584940772001U; 23554402272 0423721840;7TT0423721840001B; 23554402303 0110770863;BBTU500248822001Q; 23554402305 02311301;BTB02311301001J; 23554402563 0550503408;PPTU004984208001O; 23554402605 0457553223;Q0T0457553223001I; 23554367602 0454542427;TB8U501674990001V; 23554378584 0383071261;HTHU500374797001Y; 23554404965 059792244;ST3059792244005C; 23554405503 0571632586;QTO0571632586001D; 但是所需的输出应如下所示: 23554400043 0117601738;22TU003719388001V; 23554402883 0823973229;TTT0823973229001C; 23554402950 024071080;MNT024071080001D; 23554405827 0415260614;TL20415260614001R; 23554405828 08119270800;TL2U003010407001G; 23554406553 011306895;VBT011306895001E; 23554406557 054121509;TL2054121509001M; 23554406563 065069209;TL2065069209005M; 23554409085 0803434328;QTO0803434328001B; 23553396219 062004063;G6T062004063001C; 请记住,在所需输出中的两列之间应该只有一个制表空间. 解决方法使用这个awk很容易做到:awk -v OFS='t' '{$1=$1} 1' file 23554402243 0584940772;2TZ0584940772001U; 23554402272 0423721840;7TT0423721840001B; 23554402303 0110770863;BBTU500248822001Q; 23554402305 02311301;BTB02311301001J; 23554402563 0550503408;PPTU004984208001O; 23554402605 0457553223;Q0T0457553223001I; 23554367602 0454542427;TB8U501674990001V; 23554378584 0383071261;HTHU500374797001Y; 23554404965 059792244;ST3059792244005C; 23554405503 0571632586;QTO0571632586001D; 或者这个tr也可以工作: tr -s ' ' < file | tr ' ' 't' 或者这个sed: sed -i.bak $'s/ {1,}/t/g' file (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |