【发布时间】:2010-06-24 16:27:04
【问题描述】:
如何在 .txt 文件中找到最长的行,然后在所有其他行的末尾用空格填充到该长度?
我猜这很容易回答。我对使用 awk, paste 命令知之甚少 等等。也许有人可以帮助我。谢谢!
更具体一点...到目前为止,我可以做到以下几点。这将从 .txt 文件中获得最长的行:
awk '{ if (length($0) > max) {max = length($0); maxline = $0} } END { print maxline }' in.txt
这会用空格填充行(直到 50):
awk 'length <= 50 { printf "%-50s\n",$0 }' in.txt > out.txt
我只是不知道将值从一行传递到另一行。
我为什么要问这个?我想使用 paste 命令合并两个 .txt 文件。文本 B 将位于文本 A 的右侧。文本 A 中的行将具有不同的长度。因此,如果没有足够的空格,则布局不正确。
【问题讨论】:
-
一如既往,请发布您迄今为止尝试过的内容 - 解决问题,做你的功课,不。