小编Ano*_*ous的帖子

如何在 awk 打印命令上使用排序?

我正在编写的 awk 脚本中有几个命令:

print "Here are some players and their numbers, sorted by last name"
if(sum[x] > 500) {print x, $2}
Run Code Online (Sandbox Code Playgroud)

哪些输出:

Here are some players and their numbers, sorted by last name
Lebron James 23
Kevin Durant 35
Kobe Bryant 24
Blake Griffin 32
Dikembe Mutumbo 55
Run Code Online (Sandbox Code Playgroud)

如何使用awk 脚本中sort命令仅对玩家及其号码进行排序?

command-line awk text-processing

9
推荐指数
3
解决办法
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万
查看次数

按名称过滤进程的命令?

允许通过正则表达式元字符过滤器过滤进程的命令是什么?

例如,如果我想过滤掉以字母Aor开头的所有进程a,我将如何[Aa]$在整体命令中实现?

command-line regex process

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

将所有 sed 命令放入一个 shell 脚本文件中

本质上,我得到了一个文本文件,应该通过 sed 命令来处理它。我总共有大约 7 个 sed 命令,并且需要将它们全部放在一个 shell 脚本中以在运行此脚本时生成一个输出。

要拧紧的文本文件: students.txt

学生.txt:

DogG DOGGGGGGGG
dog dog dog Jamesb
JamesBrady
derghnregnrig
JamesBeody
Run Code Online (Sandbox Code Playgroud)

所以第一个 sed 去掉了第一行和最后一行。第二个 sed 用 DOGGGG 替换 dog 第三个 sed 使用 JamesBrady 查找并打印所有行 第四个 sed 使用 derghnregnrig 查找并打印所有行

Sed 命令(BS 示例):

sed -e '1d' -e '$d' -e '/^$/d' students.txt
sed -n s/dog/DOGGGG/g students.txt
sed -n /JamesBrady/p students.txt
sed -n /derghnregnrig/p students.txt
Run Code Online (Sandbox Code Playgroud)

以上 sed 命令都放在一个 shell 脚本文件中,并且在运行时应该将其(累积?)效果输出到一个文本文件(students.txt)

到目前为止,我已尝试查找执行此操作的正确程序,但遇到的只是混乱。有人能以初学者的耐心清晰地解释一下如何将多个 sed 命令以及与此相关的任何命令(awk、grep 等)放入单个 shell 脚本文件中吗?

使用 Ubuntu 16.04,Vim。Bash 外壳

vim command-line bash sed

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

标签 统计

command-line ×3

awk ×2

bash ×2

process ×1

regex ×1

scripts ×1

sed ×1

text-processing ×1

vim ×1