如何使用通过管道传输到 sed 的文件名列表查找并替换为变量?
How can I find and replace with a variable using a list of filenames piped to sed?
目前我使用以下方法查找和替换:
ack -l oldstring | xargs sed -i '' -e s/oldstring/newstring/g
有没有办法不用多次输入 oldstring
就可以做到这一点?这是我正在尝试但不起作用的方法:
ack -l oldstring | xargs sed -i '' -e s/{}/newstring/g
我最终决定创建两个 bash 函数来节省输入:
# Function to find and replace.
function ags {
#!/bin/bash
ag -l "" | xargs sed -i '' -e "s///g";
}
# Function to delete any lines that contain a string.
function agd {
#!/bin/bash
ag -l "" | xargs sed -i '' -e "//d";
}
目前我使用以下方法查找和替换:
ack -l oldstring | xargs sed -i '' -e s/oldstring/newstring/g
有没有办法不用多次输入 oldstring
就可以做到这一点?这是我正在尝试但不起作用的方法:
ack -l oldstring | xargs sed -i '' -e s/{}/newstring/g
我最终决定创建两个 bash 函数来节省输入:
# Function to find and replace.
function ags {
#!/bin/bash
ag -l "" | xargs sed -i '' -e "s///g";
}
# Function to delete any lines that contain a string.
function agd {
#!/bin/bash
ag -l "" | xargs sed -i '' -e "//d";
}