Seperti yang telah ditunjukkan orang lain, sed dan alat berbasis teks lainnya tidak akan berfungsi dengan baik jika ada bagian skrip yang terlihat seperti komentar tetapi sebenarnya tidak. Misalnya, Anda dapat menemukan # di dalam string, atau yang agak umum $#
dan ${#param}
.
Saya menulis formatter shell bernama shfmt , yang memiliki fitur untuk memperkecil kode. Itu termasuk menghapus komentar, antara lain:
$ cat foo.sh
echo $# # inline comment
# lone comment
echo '# this is not a comment'
[mvdan@carbon:12] [0] [/home/mvdan]
$ shfmt -mn foo.sh
echo $#
echo '# this is not a comment'
Parser dan printer adalah paket Go, jadi jika Anda menginginkan solusi khusus, seharusnya cukup mudah untuk menulis program Go 20-line untuk menghapus komentar dengan cara yang Anda inginkan.