如果任何行的长度小于固定长度(10),我想在文本文件的中间添加空格。空格的位置固定在第 4 个字符之后。
\n像这样的文件:
\nABCEFGH K<\xe2\x80\x94 length: 10\nABCDE FGH<- length: 10\nABCD EFG<- length: 9\nABCDE FGH<- length: 9\nABCDE<-length: 5\nRun Code Online (Sandbox Code Playgroud)\n期望的输出:
\nABCEFGH K<\xe2\x80\x94 length: 10\nABCDE FGH<- length: 10\nABCD EFG<- length: 10\nABCD EFGH<- length: 10\nABCD E<- length: 10\nRun Code Online (Sandbox Code Playgroud)\n我\xe2\x80\x99m 对 bash 真的很陌生。如果行小于固定长度,我尝试过使用 awk 和 sed 附加 0 之类的方法。它工作完美,但我想要实现的是在给定位置添加空格,从而修改原始文件。
\n我很感激任何见解!
\n我尝试过的方法:\n< /sf/ask/3251062531/固定长度/46443954>
\n更新:
\nawk \'{ if(length<10) printf "%s%0*d\\n",$0,10-length,0; else print }\' test.txt\n\nRun Code Online (Sandbox Code Playgroud)\n这是我尝试过的上述链接中的代码。由于我无法\xe2\x80\x99想出如何在中间添加空格,并使每行保持固定长度,所以我无法\xe2\x80\x99t提供它的代码。对于没有提供代码,我深表歉意。
\n