我在编辑文件中的一列时遇到棘手的问题。
我的目标是替换第二列中的字符串以删除由\符号分隔的部分。
为了清楚起见,这是示例源文件:
aaa.txt
0 OS1\admin 1 OS1\test 2 OS3\user 3 OS5\test 4 OS2\test 5 osx\admin
这就是应该改变的方式
0 admin 1 test 2 user 3 test 4 test 5 admin
它让我发疯,请帮忙:) Sed/Awk 或纯 bash 将只是 gr8
最佳答案
sed
sed 's/\S*\\//' input.txt
awk
awk '{sub(/[^[:space:]]*\\/, "")}1' input.txt
bash
while read -r x y; do echo $x ${y##*\\}; done <input.txt
关于bash - 文件中的列字符串版本,bash sed awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122797/