Saya menggunakan sed untuk menemukan dan mengganti pola dalam file SAS yang saya miliki daripada mengubahnya secara individual. Masalahnya adalah saya mencoba mengganti variabel makro dan ketika saya menggunakan ampersand tidak diproses dengan benar.
Here's my code:
sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas
setiap kali saya menjalankan perintah ini sepertinya menambahkan dan melakukan segala macam hal funky dengan teks asli.
Pertanyaan: Bagaimana cara mengganti teks yang berisi ampersand dengan perintah sed?
&
adalah karakter khusus sehingga harus diloloskan ketika digunakan dalam RHS - dalam kasus Anda, Anda harus menjalankan's/user=&uid./user=\&sysuserid./g'
meskipun saya menduga Anda juga perlu melarikan diri dari titik di LHS untuk mencocokkan titik literal sehingga Anda benar-benar perlu's/user=&uid\./user=\&sysuserid./g'