Bash: 줄에서 문자를 제거하는 방법

Bash: 줄에서 문자를 제거하는 방법

데이터가 포함된 테이블이 있습니다.

./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

관련 정보