标签: awk

我需要安装 awk 还是它内置在 Ubuntu 中?

我是 Linux 操作系统的新手,正在学习移动计算。我必须使用awk. 我正在使用 Ubuntu 14.04。

我需要安装awk还是内置在 Ubuntu 中?

awk 14.04

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

如何使用 AWK 打印所有列

AWK 中,有没有办法打印所有列?我不想像这样打印它们:

printf($1 $2 $3 ...)
Run Code Online (Sandbox Code Playgroud)

有没有办法打印所有这些?

programming awk

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

如何编辑 2 个符号之间的文本范围?awk、sed、正则表达式

使用“*”符号,(不必是那个,任何特殊字符都可以表示),我如何编辑文本:

*berry
straw
rasp
blue
boysen
*
blahblah
blahblah
blahblah
*berry
straw
blue
*
blah
*table
vege
pingpong
*
Run Code Online (Sandbox Code Playgroud)

对此:

strawberry
raspberry
blueberry
boysenberry
blahblah
blahblah
blahblah
strawberry
blueberry
blah
vegetable
pingpongtable
Run Code Online (Sandbox Code Playgroud)

第一个匹配星号之后的每个字符都将放置在每一行上,直到找到第二个星号匹配项。

关于我如何解决这个问题的任何线索?(最好使用 sed 或 awk,但如果您能想到其他方法,请将您的代码发给我!)

我知道如何删除所有包含星号的行,这只是我想不到的字符放置部分

bash regex sed awk

6
推荐指数
3
解决办法
1096
查看次数

通过 awk 在两个分隔符之间提取名称

我有一个这样的字符串

<user>@<server>:<port>:/foo/bar
Run Code Online (Sandbox Code Playgroud)

我想提取用户、服务器、端口和目录。

用户可以通过以下方式轻松提取

echo <string> | awk -F"@" '{print $1;}'
Run Code Online (Sandbox Code Playgroud)

但是服务器位于两个不同的分隔符内。这可能通过awk吗?

bash awk

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

在每个命令后放置换行符

如何在 shell 脚本的每个 awk 命令中实现回车或换行符,以便每个命令的输出与下一个命令的输出分开?

也许我需要更多的规范。我有两个 awk 命令,如下所列:

awk {print $1, $2}, awk 命令 1, 输出:

John Bender
Bohn Jender
Jen Bondher
Run Code Online (Sandbox Code Playgroud)

awk '{print $3, $4}',命令 2,输出:

AGE 21
AGE 420
AGE 2345678909876543234567890876543234567890876543
Run Code Online (Sandbox Code Playgroud)

当在 shell 脚本中组合并运行时./<testscript>.sh <textfile>,命令行显然输出:

John Bender
Bohn Jender
Jen Bondher
AGE 21
AGE 420
AGE 2345678909876543234567890876543234567890876543
Run Code Online (Sandbox Code Playgroud)

因为我想要换行附加 PER awk 命令,所以我希望输出看起来像:

John Bender
Bohn Jender
Jen Bondher

AGE 21
AGE 420
AGE 2345678909876543234567890876543234567890876543
Run Code Online (Sandbox Code Playgroud)

以前尝试附加“\n”的结果是:

John Bender

Bohn Jender

Jen Bondher

AGE 21

AGE 420 …
Run Code Online (Sandbox Code Playgroud)

bash scripts awk

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

如何在 awk 语句中转义撇号?

我正在使用带有 bash shell 的 Ubuntu Linux。如何在 awk 语句中转义撇号?我想在使用 awk 从文件中提取数据后输出一些 SQL,所以我有:

awk -F',' '{print "SELECT * from user where id = '"$2"';"}' myfile.csv
Run Code Online (Sandbox Code Playgroud)

但这仅打印出:

SELECT * from user where id = ;
Run Code Online (Sandbox Code Playgroud)

如果我将上面修改为

awk -F',' '{print "SELECT * from user where id = "$2";"}' myfile.csv
Run Code Online (Sandbox Code Playgroud)

然后我得到这样的声明

SELECT * from user where id = cf915247dfcf47b6814b5350e5cbdfd8;
Run Code Online (Sandbox Code Playgroud)

但 id 周围没有单引号,这是我需要的。

command-line bash awk text-processing

6
推荐指数
1
解决办法
5375
查看次数

在前两个匹配项之间逐行搜索文本

我有带有文本的文件:

1861_ASSET-D_T_201702181000-201702181045_HN_
197895_STRING-H_T_201702181000-201702181045_HN_
14512861_FILE-FD_T_201702181000-201702181045_HN
Run Code Online (Sandbox Code Playgroud)

如何使用 egrep、awk 或 sed 在第一个和第二个匹配项“_”之间分配文本?

我希望有:

ASSET-D
STRING-H
FILE-FD
Run Code Online (Sandbox Code Playgroud)

command-line grep sed awk text-processing

6
推荐指数
5
解决办法
1227
查看次数

计算文件中不同名称的数量

我想计算此演示文稿的文本文件中不同名称的数量:

2008 girl Avah
2009 girl Avah
2008 girl Carleigh
2011 girl Kenley
2012 boy Joseph
2013 boy Joseph
2014 boy Isaac
2014 boy Brandon
Run Code Online (Sandbox Code Playgroud)

所以基本上我想跳过重复并作为答案 6。我试图awk只访问第三列,但我无法让它打印行数。

grep awk text-processing wc

6
推荐指数
2
解决办法
695
查看次数

有在线 awk 命令“解释器”吗?

首先,我不知道我应该在哪里问这个问题。如果这个地方不适合这个,请指出正确的论坛。

我正在寻找一个可以解释 awk 命令的工具。

作为参考,请查看此网站:https://regexr.com/

当您将鼠标悬停在正则表达式部分时,它会向您解释它的作用。我正在为 awk 寻找相同的功能(不需要是网站,只要我能获得信息,任何东西都可以)。

在此输入图像描述

我需要“破译”的 awk 命令示例:

  awk -F"|" 'BEGIN{OFS="|"}{if(FNR>3){for(i=1;i<=NF;i++){sub(/ +$/,"",$i);sub(/^ +/,"",$i)};if(NF!=1){print $2,$3,$4}}}'
Run Code Online (Sandbox Code Playgroud)

command-line bash awk

6
推荐指数
1
解决办法
1275
查看次数

文本处理恰当地输出文件

我有一个由存储库管理工具的输出制成的文本文件aptly,其中列出了我发布的存储库,我需要从中提取信息。

文件格式如下:

Published repositories:
 * test_repo_one/xenial [i386,amd64] publishes {main: [xenial-main_20190311]: Snapshot from mirror [xenial-main]: http//gb.archive.ubuntu.com/ubuntu/ xenial [src]}, {multiverse: [xenial-multiverse_20190311]: Snapshot from mirror [xenial-multiverse]: http//gb.archive.ubuntu.com/ubuntu/ xenial [src]}, {restricted: [xenial-restricted_20190311]: Snapshot from mirror [xenial-restricted]: http//gb.archive.ubuntu.com/ubuntu/ xenial [src]}, {universe: [xenial-universe_20190311]: Snapshot from mirror [xenial-universe]: http//gb.archive.ubuntu.com/ubuntu/ xenial [src]}
 * test_repo_one/xenial-security [i386,amd64] publishes {main: [xenial-security-main_20190311]: Snapshot from mirror [xenial-security-main]: http//gb.archive.ubuntu.com/ubuntu/ xenial-security[src]}, {multiverse: [xenial-security-multiverse_20190311]: Snapshot from mirror [xenial-security-multiverse]: http//gb.archive.ubuntu.com/ubuntu/ xenial-security[src]}, {restricted: [xenial-security-restricted_20190311]: Snapshot from mirror [xenial-security-restricted]: http//gb.archive.ubuntu.com/ubuntu/ xenial-security[src]}, {universe: [xenial-security-universe_20190311]: Snapshot from mirror [xenial-security-universe]: …
Run Code Online (Sandbox Code Playgroud)

sed awk text-processing

5
推荐指数
1
解决办法
160
查看次数

标签 统计

awk ×10

bash ×5

text-processing ×4

command-line ×3

sed ×3

grep ×2

14.04 ×1

programming ×1

regex ×1

scripts ×1

wc ×1