小编Ben*_* W.的帖子

仅在字段不为空时打印

我有一个文本文件,仅当第4列中存在IP时,我才想从其中提取主机和IP信息。例如:

cat hostlist.txt
Server One 255.255.255.255 123.123.123.123
Server Two 255.255.255.255 
Server Three 255.255.255.255 123.123.123.123
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我只希望看到服务器一和服务器三,因为服务器二在第四列中没有数据。

bash awk grep

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

在Shell脚本中最后一次出现单词之前获取子字符串

/abc/xyz/def/xyz/1234/lmn/xyz/7890/uvw在Linux中有一个字符串。

我想xyz使用shell脚本在字符串最后一次出现之前提取子字符串。

例:

输入:

/abc/xyz/def/xyz/1234/lmn/xyz/7890/uvw
Run Code Online (Sandbox Code Playgroud)

输出:

/abc/xyz/def/xyz/1234/lmn
Run Code Online (Sandbox Code Playgroud)

我在网上进行搜索,并找到了使用单字符分隔符的解决方案,但我不知道如何使它与字符串分隔符一起使用xyz

unix linux shell

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

搜索特定模式并使用新模式替换其上方的任何单词或行

假设我有以下句子:

jack and jill
climbs up a hill
Run Code Online (Sandbox Code Playgroud)

我想hill在文件中搜索并替换jilljerry,即它上面的行,同时hill保持原样.是否可以使用vim编辑器或awk/sed?

vim awk sed

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

重写bash命令以使ShellCheck兼容

如何重写以下bash命令以使ShellCheck兼容?

memory=$(cat /proc/meminfo | grep 'MemTotal:' | awk {'print $2}' 2> /dev/null)
Run Code Online (Sandbox Code Playgroud)

它目前抱怨:

  • 没用的猫.考虑'cmd <file | ..'或'cmd文件| .."
  • 这是{字面意思.

bash shell shellcheck

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

在命令行中将BASH参数传递给gawk

我想创建一个简单的gawk脚本来提取某个文件的第n列.我希望在命令行输入文件的名称n的值.我用这个脚本制作可执行文件chmod +x.

因此,要从文件foo中提取第三列,我将输入:

 awkextract foo 3 
Run Code Online (Sandbox Code Playgroud)

我对脚本的尝试awkextract是:

 #!/opt/local/bin/gawk -v k=$2 -f 
 {print $k}
Run Code Online (Sandbox Code Playgroud)

但是无意义的结果表明这不起作用.我如何解决它?

PS.我知道我可以通过cut命令来做到这一点,我只是在尝试......

bash awk command-line gawk

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

使用Java按其索引节点查找文件

我正在开发用于处理文件的软件,并且无论文件是否已移动,重命名等,我都必须能够找到它。是否可以通过Java搜索其inode来找到某种方式呢?

java linux inode file

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

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

使用当前路径的值创建shell别名

我想创建一个可以运行的shell别名

command ew --constantswitch --anotherconstantswitch <name>
Run Code Online (Sandbox Code Playgroud)

现在name需要从当前路径中提取值.当前路径看起来像这样

[username@path-to-shell-xxxxxxxx]/path/to/directory/with/name%
Run Code Online (Sandbox Code Playgroud)

如何创建一个别名,以便在我运行aliasX它时

  1. name从当前路径中提取(这是提示的最后一个值)
  2. 将此路径添加到上面的命令并执行.

bash shell alias

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

在Go中解析多个JSON对象

使用该encoding/json包可以很容易地解析如下对象。

[ 
    {"something":"foo"},
    {"something-else":"bar"}
]
Run Code Online (Sandbox Code Playgroud)

我面临的问题是从服务器返回多个命令时,像这样:

{"something":"foo"}
{"something-else":"bar"}
Run Code Online (Sandbox Code Playgroud)

无法使用以下代码进行解析。

correct_format := strings.Replace(string(resp_body), "}{", "},{", -1)
json_output := "[" + correct_format + "]"
Run Code Online (Sandbox Code Playgroud)

我正在尝试解析Common Crawl数据(请参阅示例)。

我怎样才能做到这一点?

json go

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

使用Shell脚本替换文件中的令牌

我有一个保存令牌变量的文件。当我们切换环境时,我们想为我们所处的环境正确替换那些令牌。

如何在Linux Shell中执行此操作?我在想awk或sed。

例:

文件具有以下数据:

DB_HOST=__HOST__
DB_PASSWORD=__PASSWORD__
Run Code Online (Sandbox Code Playgroud)

我想阅读此文件,识别__HOST__并将其替换为环境变量$(HOST)。我们将从两个下划线之间的匹配字符串中获取环境变量名称。

有谁知道我们如何做到这一点?

linux bash shell awk sed

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

标签 统计

bash ×6

awk ×5

shell ×4

linux ×3

grep ×2

sed ×2

alias ×1

command-line ×1

file ×1

gawk ×1

gnuwin32 ×1

go ×1

inode ×1

java ×1

json ×1

shellcheck ×1

unix ×1

vim ×1