Заменить символ сценарием оболочки в файле - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть текстовый файл в Unix, в котором есть специальный символ. Мне нужно заменить все экземпляры специальных символов Как я могу сделать в сценарии оболочки?

Это мой код. Мне нужно заменить все специальные символы, прежде чем я sftp

elif [[ $module = "get_ce_xml_to_xcent" ]]
  then
    echo "get_ce_xml_to_xcent"

    ssh -T -o ConnectTimeout=5 oracle@GL-REL-CEAPP.abanet.local <<ENDSSH 
    cd /srv/exports/promotion 
    chmod 777 *.txt
sftp oracle@GL-REL-XSTAPP <<ENDFTP
cd /fileuploads/org69
mput *.txt
quit
ENDFTP
    #for i in `ls *.txt 2>/dev/null`; do echo $i; mv $i /srv/exports/promotion/arch/$i.`date "+%Y%m%d%H%M%S"` ; done
    mv *.txt arch/
        exit
ENDSSH

1 Ответ

0 голосов
/ 07 ноября 2018

Допустим, у вас есть файл .txt, содержащий специальные символы (ý) в нескольких позициях:

mayankp@mayank:~/$ cat test.txt 
"123","qweeerr","qqqqqq ý
rrrrr
hhhhhh",ý "sdfsfs" 

Вы можете заменить ý из файла, как показано ниже:

mayankp@mayank:~/$ sed -i 's/ý//g' test.txt 
mayankp@mayank:~/$ cat test.txt 
"123","qweeerr","qqqqqq 
rrrrr
hhhhhh", "sdfsfs"

Вам просто нужно добавить строку sed -i 's/ý//g' test.txt в вашем скрипте перед sftp командой.

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...