Jor*_*son 1 unix string bash awk sed
我正在寻找一种方法,如果它们的长度少于66个字符,则将0添加到文件中多行的末尾,以便总行长度等于66.
这是文件格式的一个例子(...表示前面56个字符):
$cat file1
...1234567891
...123456
...
...12345678
Run Code Online (Sandbox Code Playgroud)
理想格式:
...1234567891
...1234560000
...0000000000
...1234567800
Run Code Online (Sandbox Code Playgroud)
Awk解决方案:
样本文件input.txt:
ghWuec]UGaEjxQRN4qUe3uyhNmBszZeJq]0A5hZJiI[fQ[8anRKnpoLXWBwfFt300S
0jmyMPlQbSpFf[ZNdQvR]BwuYxgW6zkBYRPC1PwJEowd7[MmeiWp8Pienu1F32
G]nGbsTdvO24e7Ts5cLRIaYy[zOcUHau5Q7slRYmkcx2LTNR46QE]gs7vKPj
Zxr6HwG15YyYZnDvRDibjOKOlpacrU5oZTWhBixY23]yWfbHe4i6ztME
Run Code Online (Sandbox Code Playgroud)
工作:
awk '{ if(length<66) printf "%s%0*d\n",$0,66-length,0; else print }' input.txt
Run Code Online (Sandbox Code Playgroud)
输出:
ghWuec]UGaEjxQRN4qUe3uyhNmBszZeJq]0A5hZJiI[fQ[8anRKnpoLXWBwfFt300S
0jmyMPlQbSpFf[ZNdQvR]BwuYxgW6zkBYRPC1PwJEowd7[MmeiWp8Pienu1F320000
G]nGbsTdvO24e7Ts5cLRIaYy[zOcUHau5Q7slRYmkcx2LTNR46QE]gs7vKPj000000
Zxr6HwG15YyYZnDvRDibjOKOlpacrU5oZTWhBixY23]yWfbHe4i6ztME0000000000
Run Code Online (Sandbox Code Playgroud)
同样可以缩短为:
awk 'length<66{ printf "%s%0*d\n",$0,66-length,0;next }1' input.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |