다음 코드 가 있는데 계속 unterminated error
.$1
ABC-TXT-123
TEXT abc.123
ABC-TXT-123
#!/bin/bash
id=$1
if [[ $id =~ .*TXT.* ]]; then
sed -i "s/TEXT abc.*/TEXT $id/" someDataFile
fi
답변1
다음 명령과 잘 작동합니다.
$ cat > test
asd asd asd asd
asd TEXT abc.123 asd
asd asd asd asd
$ var='ABC-TXT-123'
$ sed -i "s/TEXT abc.*/TEXT $var/" test
$ cat test
asd asd asd asd asd
asd TEXT ABC-TXT-123
asd asd asd asd asd
어쩌면 해당 파일의 일부를 우리에게 제공해 주실 수도 있습니다...
답변2
''
OSX에서는 작동하려면 한 가지를 더 추가해야 했습니다 .
#!/bin/bash
id=$1
if [[ $id =~ .*TXT.* ]]; then
sed -i '' 's/TEXT abc.*/TEXT '$id'/' someDataFile
fi
이는 someDataFile의 내용이 "TEXT abc.123"에서 "TEXT ABC-TXT-123"으로 변경됨을 의미합니다. 그러나 설명 요구 사항이 약간 다르므로 다음이 필요할 수 있습니다.
sed -i '' 's/TEXT abc.*/'$id'/' someDataFile
대신 "TEXT"라는 단어를 다시 넣는 대신 전체 줄을 바꾸려면...