다음과 유사한 줄이 포함된 파일이 있습니다.
0
0.1
0.0002
0
0.30
이 줄을 단일 0
내용(예 0.0001
: 소수점과 뒤에 숫자가 있는 줄)으로 바꾸고 싶습니다.
다음과 같은 변형을 시도했지만 sed
아무것도 수행하지 않거나 소수점 이하의 0까지 모두 0으로 변경합니다.
sed 's/0/x/g' file
sed 's/^0/x/g' file
sed 's/0^/x/g' file
sed 's/^0^/x/g' file
sed 's/"0"/x/g' file
sed 's/[0]/x/g' file
sed
단일 문자를 처리 할 수 없는 것 같습니다 0
. 또한 replace
해당 명령이 내 시스템에 존재하지 않습니다. 또 무엇을 할 수 있나요?
답변1
연속적으로 하나의 0을 바꾸려면 다음을 수행하십시오.
sed 's/^0$/x/'
^ 줄의 시작과 일치합니다.
$는 줄 끝과 일치합니다.
따라서 위 명령은 줄의 시작 부분과 일치하고 그 뒤에 0이 온 다음 줄의 끝 부분이 일치합니다.
답변2
awk를 사용하세요:
awk '{gsub(/^0$/,0.0001)};1' file