【问题标题】:Displaying content of file in tabular format in linux (xargs)在linux中以表格格式显示文件内容(xargs)
【发布时间】:2017-06-06 18:19:43
【问题描述】:

我有一个文件 test.txt,内容为:

1\1
2
3
4
5\3
6
7
8\66
9
10
11
12
13
14

我想以具有 7 列的表格格式打印此文件,如下所示:

1\1 || 2 || 3 || 4 || 5\3 || 6 || 7
8\66 || 9 || 10 || 11 || 12 || 13 || 14

我在 linux 下尝试过 cmd:

xargs -L 4 < test.txt | awk '$1=$1' OFS=' || '

但是在运行这个 cmd '\' 符号时,会从输出中删除。它是这样来的 11 || 2 || 3 || 4 || 53 || 6 || 7 866 || 9 || 10 || 11 || 12 || 13 || 14

我不想删除 \ 符号。请提供您对此的宝贵意见。

【问题讨论】:

  • 作为您的原始命令,我在 xargs 中添加了一个选项 -dxargs -L 7 -d '\n' &lt; test.txt | awk '$1=$1' OFS=' || ' 可以为您工作。
  • 哦,是的,它有效,非常感谢@K.Juce

标签: linux multiple-columns xargs


【解决方案1】:

Perl 的救援:

perl -pe 'chomp, $_ .= " || " if $. % 7'

-p逐行读取输入。

chomp 删除最后的换行符。

$_ .= ... 附加给定的字符串。

只有当当前输入行号 $. 不能被 7 整除时,才会发生选择和追加,即模运算符 % 不会为表达式返回 0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2012-03-11
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    相关资源
    最近更新 更多