标签: columns

如何使用 cut 分隔多个空格?

我有这个输入,它显示在列中。我想获取此示例的最后一列:

[  3]  1.0- 2.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  2.0- 3.0 sec   768 KBytes  6.29 Mbits/sec
[  3]  3.0- 4.0 sec   512 KBytes  4.19 Mbits/sec
[  3]  4.0- 5.0 sec   256 KBytes  2.10 Mbits/sec
...
Run Code Online (Sandbox Code Playgroud)

如果我使用

cut -d\  -f 13
Run Code Online (Sandbox Code Playgroud)

我得到

Mbits/sec
6.29
4.19
2.10
Run Code Online (Sandbox Code Playgroud)

因为有时中间会有额外的空格。

text-processing cut columns

102
推荐指数
4
解决办法
9万
查看次数

是否有用于输出制表符分隔列的简单命令?

例如,我有一个文件(用 生成echo -e "var1\tvar2\t\var3\tvar4" > foo)输出为:

$ cat foo
case    elems   meshing nlsys
uniform 2350    0.076662        2.78
non-conformal   348     0.013332        0.55
scale   318     0.013333        0.44
smarter 504     0.016666        0.64
submodel        360     .009999 0.40
unstruct-quad   640     0.019999        0.80
unstruct-tri    1484    0.01    0.88
Run Code Online (Sandbox Code Playgroud)

我更喜欢这样的输出(这里我使用vim:set tabstop=14):

case          elems         meshing       nlsys
uniform       2350          0.076662      2.78
non-conformal 348           0.013332      0.55
scale         318           0.013333      0.44
smarter       504           0.016666      0.64
submodel      360           .009999       0.40
unstruct-quad 640           0.019999      0.80
unstruct-tri  1484          0.01 …
Run Code Online (Sandbox Code Playgroud)

command-line shell cat columns

84
推荐指数
4
解决办法
9万
查看次数

如何使用列来分隔制表符而不是空格?

我想使用 Unixcolumn命令来格式化一些文本。我有由制表符分隔的字段,但在每个字段中也有空格。column分隔空白(制表符和空格)。如何使列仅使用制表符作为分隔符?

我试图使用以下命令将制表符指定为分隔符:

cat myfile | column -t -s"\t"
Run Code Online (Sandbox Code Playgroud)

command-line text-processing quoting columns

84
推荐指数
4
解决办法
4万
查看次数

Bash shell 脚本输出对齐

我的脚本:

date
echo -e "${YELLOW}Network check${NC}\n\n"

while read hostname
do

ping -c 1 "$hostname" > /dev/null 2>&1 &&

echo -e "Network $hostname : ${GREEN}Online${NC}" ||
echo -e "${GRAY}Network $hostname${NC} : ${RED}Offline${NC}"

done < list.txt
        sleep 30
clear
done
Run Code Online (Sandbox Code Playgroud)

正在输出这样的信息:

Network 10.x.xx.xxx : Online   
Network 10.x.xx.xxx : Offline   
Network 10.x.xx.xxx : Offline   
Network 10.x.xx.xxx : Offline   
Network 10.x.xx.x : Online   
Network 139.xxx.x.x : Online   
Network 208.xx.xxx.xxx : Online   
Network 193.xxx.xxx.x : Online
Run Code Online (Sandbox Code Playgroud)

我想清理它以获得这样的东西:

Network 10.x.xx.xxx       : Online  
Network 10.x.xx.xxx       : Offline …
Run Code Online (Sandbox Code Playgroud)

scripting shell-script columns text-formatting

39
推荐指数
2
解决办法
4万
查看次数

将输出打印到 3 个单独的列

MYPATH=/var/www/html/error_logs/
TOTALFILE=$(ls $MYPATH* | wc -l)
FILETIME=$(stat --format=%y $MYPATH* | head -5 | cut -d'.' -f1)  
FILE=$(ls -1tcr $MYPATH* | head -5 | rev | cut -d/ -f1 | rev)
TOPLINE=$(head -1 $MYPATH* | grep -Po '".*?"' | head -5)
Run Code Online (Sandbox Code Playgroud)

我如何优雅地将这 5 个文件信息打印到带有标题的列中?

FILE CREATED TIME   | FILE NAME        | ERROR HEADER
---------------------------------------------
$FILETIME           | $FILE            | $TOPLINE
2012-11-29 11:27:45 | 684939947465     | "SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"
Run Code Online (Sandbox Code Playgroud)

等等 5个文件

total files: $TOTALFILE …

bash filenames columns printf

36
推荐指数
2
解决办法
12万
查看次数

将长输出拆分为两列

是否有一个简单的实用程序或脚本可以将我的一个脚本的输出分列?我有某种形式的数据:

A aldkhasdfljhaf
B klajsdfhalsdfh
C salkjsdjkladdag
D lseuiorlhisnflkc
E sdjklfhnslkdfhn
F kjhnakjshddnaskjdh
Run Code Online (Sandbox Code Playgroud)

但如果这变成两个长,请按以下形式写入数据(仍然垂直排序):

A aldkhasdfljhaf    D lseuiorlhisnflkc
B klajsdfhalsdfh    E sdjklfhnslkdfhn
C salkjsdjkladdag   F kjhnakjshddnaskjdh
Run Code Online (Sandbox Code Playgroud)

通过阅读联机帮助页,我认为这column不适合,但我不确定。很容易拆分成以下形式:

A B 
C D 
E F
Run Code Online (Sandbox Code Playgroud)

通过只打印\n每两行(我当前的脚本所做的)。有任何想法吗?谢谢!

awk shell-script text-processing columns

31
推荐指数
2
解决办法
2万
查看次数

仅在第二列上排序

我正在尝试对通常(并非总是)行所在的文件进行排序

whatever:[A-Ba-b0-9_]: values
Run Code Online (Sandbox Code Playgroud)

其中字段用:. 有些行不遵循这种模式,我对它们不感兴趣,它们可以在输出中的任何位置。

我只想对第二列(而不是值)上的行进行排序,但是当我这样做时sort -t: -k 2 myfile,它会在所有行上对文件进行排序。

如何使用-k以拥有我需要的东西?

sort columns

25
推荐指数
1
解决办法
4万
查看次数

从文本文件中剪切第 2 列

我的文本文件没有分隔符来指定分隔符只是空格,我如何切出第 2 列以输出文件,

39    207  City and County of San Francisc   REJECTED          MAT = 0
78    412  Cases and materials on corporat   REJECTED          MAT = 0
82    431  The preparation of contracts an   REJECTED          MAT = 0
Run Code Online (Sandbox Code Playgroud)

所以我需要的输出是

207
412
432
Run Code Online (Sandbox Code Playgroud)

text-processing cut columns

23
推荐指数
3
解决办法
11万
查看次数

顶部命令 - 如何减少显示的列

我们能否在 top 命令中获取特定列,例如,我只对内存利用率和 CPU 使用率列感兴趣。

如何将顶部命令的显示列减少到仅上述两列?

top columns

22
推荐指数
1
解决办法
4万
查看次数

转置行和列

我有一个像下面这样的行的文件。

title1:A1
title2:A2
title3:A3
title4:A4
title5:A5

title1:B1
title2:B2
title3:B3
title4:B4
title5:B5

title1:C1
title2:C2
title3:C3
title4:C4
title5:C5

title1:D1
title2:D2
title3:D3
title4:D4
title5:D5
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

title1    title2     title3    title4
A1         A2         A3         A4
B1         B2         B3         B4
C1         C2         C3         C4
D1         D2         D3         D4
Run Code Online (Sandbox Code Playgroud)

text-processing columns

19
推荐指数
6
解决办法
4万
查看次数