标签: columns

在列的开头和结尾添加字符

我有一个这样的文件:

78@54@this@15@23
65@22@is@92@16
34@12@an@14@18
13@42@example@52@22
Run Code Online (Sandbox Code Playgroud)

我想把它改成这样:

"78"@54@"this"@15@23
"65"@22@"is"@92@16
"34"@12@"an"@14@18
"13"@42@"example"@52@22
Run Code Online (Sandbox Code Playgroud)

我已经为此苦苦挣扎了很长时间,但我不明白该怎么做。任何帮助表示赞赏,谢谢。

text-processing columns

3
推荐指数
2
解决办法
5216
查看次数

添加来自不同文件的字段

我有两个行数相同的文件 A 和 B。它们中的每一个都有多个列。我想在文件 A 中为每一行添加字段 6,在文件 B 中添加字段 3。例如:

文件A:

2769 RUT10EKl3fY 0 0.00483891 1352626500270 2 
2773 0XbIZqg4v7w 0 0.00360106 1352626851193 3
2777 j1tuJt5IyUw 0 0.00460544 1352627235337 4
Run Code Online (Sandbox Code Playgroud)

文件 B:

2769 RUT10EKl3fY 1
2773 0XbIZqg4v7w 8
2777 j1tuJt5IyUw 9
Run Code Online (Sandbox Code Playgroud)

结果(1+2、3+8、9+4):

3
11
13
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

text-processing columns join

3
推荐指数
1
解决办法
332
查看次数

如何创建一列日期从第 1 天到第 N 天的数据文件?

我想知道是否可以在从过去的某一年开始到最近的某一天或今天的列中生成每小时或每天的时间步长日期。更清楚地说,我想创建一列从 2000-10-10 100 到 2012-12-31 2400 的数据。输出文件看起来像

Date 

2000-01-01 100
2000-01-01 200
2000-01-01 300
.
.
.
.
.
2012-12-31 2400
Run Code Online (Sandbox Code Playgroud)

awk text-processing date columns

3
推荐指数
1
解决办法
915
查看次数

如何将单列输出连接到列表中?

我正在使用:

ls /proc | grep -v "^[0-9].*"
Run Code Online (Sandbox Code Playgroud)

获取 /proc 中所有不以数字开头的文件和目录的列表。输出是一个单列列表,即:

acpi
asound
buddyinfo
bus
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它成为一个多列或项目列表,即:

acpi asound buddyinfo bus
Run Code Online (Sandbox Code Playgroud)

或者

acpi,asound,buddyinfo,bus
Run Code Online (Sandbox Code Playgroud)

我试过:

$ ls /proc | grep -v "^[0-9].*" | column -c5
Run Code Online (Sandbox Code Playgroud)

但仍然有 1 列。

ls grep columns

3
推荐指数
1
解决办法
4275
查看次数

unix 列命令中的“在行之前填充列”选项

根据 man column

 -x      Fill columns before filling rows.
Run Code Online (Sandbox Code Playgroud)

这个选项似乎没有任何作用。知道如何使用它吗?

columns

3
推荐指数
2
解决办法
727
查看次数

如何在列中合并具有相同值的两个文件的内容?

文件1:

00:00 274
00:04 476
00:05 450
00:06 499
00:07 373
00:08 206
00:09 471
00:10 154
Run Code Online (Sandbox Code Playgroud)

文件2:

00:00 183
00:01 60
00:02 344
00:03 540
00:04 450
00:07 348
00:09 473
00:10 203
Run Code Online (Sandbox Code Playgroud)

期望的输出:

00:00,274,183
00:01,0,60
00:02,0,344
00:03,0,540
00:04,476,450
00:05,450,0
00:06,499,0
00:07,373,348
00:08,206,0
00:09,471,473
00:10,154,203
Run Code Online (Sandbox Code Playgroud)

将检查每个文件的第 1 列,如果相同,则将值连接到输出。请注意两个文件中不存在的那些内容的“0”值。此外,这将用于组合 6 个文件的内容。

text-processing columns join

3
推荐指数
1
解决办法
1109
查看次数

如何根据第一列的值比较两个文件?

我想根据第一列的值比较两个文件:

文件 1

aaa 23 3
bbb 56 6
ccc 45 2
Run Code Online (Sandbox Code Playgroud)

文件 2

bbb m a
aaa a m
ccc m m
Run Code Online (Sandbox Code Playgroud)

输出文件应该是:

aaa  a m
bbb  m a
ccc  m m
Run Code Online (Sandbox Code Playgroud)

即,我们需要以第一个文件的第一列顺序打印第二个文件的第 2 列和第 3 列。

有人可以为此建议一个 awk 脚本吗?

diff awk text-processing columns join

3
推荐指数
1
解决办法
523
查看次数

按行合并文件

是否有可能以全行复制File1在新File3给出的指令后File2通过使用简单的bash脚本使用sedawk

File1: /*two or more columns*/
AC    456324
DC    689712
GH    123677
KL    236587

File2: /*one column*/
AC
DC

File3: 
AC    456324
DC    689712
Run Code Online (Sandbox Code Playgroud)

我实际上是使用 Python 字典来执行此操作的,我想知道您是否知道一种简单的方法。

shell-script text-processing columns join

3
推荐指数
1
解决办法
1818
查看次数

在 shell 脚本中生成对齐的列

在 shell 中,我如何通过菜单上的单词长度获得均匀长度的空格?

我试图获得最长字符串的长度,然后通过最长的字符串 +1 创建每列长度......我也遇到了很多问题,我想阅读更多关于这个主题的信息。

会是awk还是grep

menuNAME       menuNAME2    menuNAME3
word word2 THISwordisLongest
THISwordisLongest word     wordLONG
wordLONG     THISwordisLongest word
Run Code Online (Sandbox Code Playgroud)

预期输出:

menuNAME          menuNAME2         menuNAME3
word              wordLONG          THISwordisLongest
THISwordisLongest word              wordLONG
wordLONG          THISwordisLongest word
Run Code Online (Sandbox Code Playgroud)

shell columns

3
推荐指数
1
解决办法
1415
查看次数

打印带有连续分隔符的空列的表

我通常用于column将输入转换为表格,例如:

$ echo 'a\tb\tc\nd\te\tf' | column -t -s $'\t'
a  b  c
d  e  f
Run Code Online (Sandbox Code Playgroud)

但是它会折叠空列,例如:

$ echo 'a\tb\tc\nd\t\tf' | column -t -s $'\t'
a  b  c
d  f
Run Code Online (Sandbox Code Playgroud)

当有连续的​​分隔符时,而不是打印一个空列。这就是我想要的,使用column或以其他方式:

a  b  c
d     f
Run Code Online (Sandbox Code Playgroud)

shell columns text-formatting

3
推荐指数
1
解决办法
262
查看次数

标签 统计

columns ×10

text-processing ×6

join ×4

awk ×2

shell ×2

date ×1

diff ×1

grep ×1

ls ×1

shell-script ×1

text-formatting ×1