有一个包含数据的表。
./result_4_0.txt
./result_4_45.txt
./result_4_45.txt
./result_4_0.txt
我想从数字创建两列。如何仅用空格替换“./result_”“_”“.txt”。我在 sed 之前尝试过,但它不能与点或斜杠一起使用。
file="filename.txt"
while IFS= read line
do
done <"$file"
答案1
sed
与点和斜线完美配合。你只需要逃避这些:
sed 's/\(\.\/result_\|_\)/ /g' filename.txt
或者,如果你想要更多的可读性,类似的东西也可以:
sed 's=\./result_= =;s=_= =' filename.txt
答案2
$ tr -dc "\n0-9_" < input | awk -F_ '{print $2,$3}'
4 0
4 45
4 45
4 0