小编Ord*_*ser的帖子

grep -Po '...\K...' 有什么作用?不然怎么能达到这样的效果?

我有这个脚本script.sh

#!/bin/bash
file_path=$1
result=$(grep -Po 'value="\K.*?(?=")' $file_path)
echo $result
Run Code Online (Sandbox Code Playgroud)

和这个文件text.txt

value="a"
value="b"
value="c"
Run Code Online (Sandbox Code Playgroud)

当我运行./script.sh /file/directory/text.txt命令时,终端中的输出如下:

a b c
Run Code Online (Sandbox Code Playgroud)

我明白脚本的作用,但我不明白它是如何工作的,所以我需要对这部分命令进行详细解释:

-Po 'value="\K.*?(?=")'
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话,\K是一个 Perl 命令。你能在 shell 中给我一个替代方案awk吗(例如用命令)?


先感谢您。

linux bash shell

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

标签 统计

bash ×1

linux ×1

shell ×1