如何在Bash shell中替换dot?

joj*_*ojo 2 string bash shell awk

我想做这样的事情:

echo "abc edg.txt" | awk -F. '{print $0"---"$1}'
Run Code Online (Sandbox Code Playgroud)

我希望结果应该是:

abc edg --- txt

但事实证明是:

abc edg.txt --- abc edg

是什么导致了这种行为,我如何修复我的代码以产生我期望的输出?

Pau*_*ce. 11

如果你只想更换点:

var="abc edg.txt"
echo ${var/./---}
Run Code Online (Sandbox Code Playgroud)


Fré*_*idi 9

在awk中,$0评估整个记录,字段索引是一个基础.

你可能想做:

$ echo "abc edg.txt" | awk -F. '{print $1"---"$2}'
abc edg---txt
Run Code Online (Sandbox Code Playgroud)