grepを使用してファイルからコメントを削除する

grepを使用してファイルからコメントを削除する

grepを使用してファイル(特にsmb.conf)からコメントを削除しようとしていますが、bashでエラーが発生します。この問題を発見しましたファイルからすべてのコメントを削除する方法は?これはgrepにこれを行う構文を提供しますが、ファイルを上書きせずに端末に印刷するだけです。効果的にファイルを上書きしたいと思います。問題は次のとおりです。

 $ sudo grep -o '^[^#]*' /etc/samba/smb.conf >> /etc/samba/smb.conf
-bash: /etc/samba/smb.conf: Permission denied

以前も同様のことをしたことがありますが、オンラインガイドに従い、grepを実行する前にbashを起動する必要があったことを思い出させます。明らかに、もはやそのガイドが見つかりません。

grepを使ってファイルからコメントを削除するには?

私はRaspbian Jessieを実行するRaspberry Pi B +を開発しています。

ベストアンサー1

sed -i -e 's/#.*$//' -e '/^$/d' inputFile

すべてのコメントを削除するだけでなく、空白行も削除します。私はあなたがgrepで要求したことを知っていますが、これを提案すると思いました。機能的には、空行を削除してファイルサイズを圧縮すると、同じかまたはより良いです。これが目標だと思います。

編集:はい、次のよう#に置き換えると;大丈夫でしょう。少なくとも私のCentOS 6システムで動作します。無効な文字などについて文句を言う場合は、\前に文字を入れることをお勧めします。;

おすすめ記事