정기적으로 백업할 때 OneDrive에 저장하고 싶은 강의용 파일이 많이 있습니다. 제 동료들이 파일 이름을 잘 지정하지 못해서 파일을 가져오려면 OneDrive를 정리해야 합니다.
내가 얻을 수 없는 부분은 마침표 앞에 공백을 선택하는 방법입니다.
나는 이것을 시도하고있다
bash-3.2$ echo "foo bar .pdf" | tr -s " \." '\.'
그리고 이것을 얻는다
foo.bar.pdf
대신에 foo bar.pdf
. 내 명령에 어떤 문제가 있나요?
답변1
tr
대체하다하나의문자를 단일 문자로 사용하고 각 공백과 각 점을 점으로 바꾸라고 지시했습니다( -s
대체하기 위해 공백+점을 단일 엔터티로 압착하는 경우는 제외). 즉, 하나의 공백 또는 점으로 tr
.
문자열을 바꾸려면 다음을 사용하십시오 sed
.
echo "foo bar .pdf" | sed 's/ \././g'
참고: 당신이 행위를 전역적으로 사용했기 g
때문에 tr
나는 이것이 당신이 일반적으로 원하는 것이라고 가정했습니다(이 특정 문자열에는 중요하지 않습니다 foo bar .pdf
).