次の形式の構成ファイルがあります
# ra y 1000000 \x2e\x72\x61\xfd
# ost y 500000000 \x21\x42\x44\x4e
# java y 1000000 \xca\xfe\xba\xbe
これが私がしたいことです:
- 探す
ra
,ost
,java
- もしあれば商標
ra
、、、、ost
前後の先頭をjava
削除します。#
集中する商標ra
構成ファイルには他のテキストも含まれているので、、ost
言及があるかもしれませんが、java
すべて前後に空白で区切られ、段落で言及されるので、この行のコメント処理を削除したくありません。従って私は捜さなければならない。商標
スチールドライバーすでに回答しています。編集は、作業中のファイルの一部を参照するように求められます。ジョン・グーフィー。
ファイルは次のとおりです
# Scalpel configuration file
...
# Scalpel can read Foremost 0.69 configuration files, but Scalpel
...
# Real Audio Files
# ra y 1000000 \x2e\x72\x61\xfd
# MISCELLANEOUS
# java y 1000000 \xca\xfe\xba\xbe
# Outlook files
# ost y 500000000 \x21\x42\x44\x4e
この構成ファイルには、使用できるファイル形式の名前のリストは記載されていませんが、次の名前が記載されている場合
#メスは以下に適しています。引く エルステッド Java
だからSteelDriverの答えは完璧です。
答え1
sed '/^#\t\(ra\|ost\|java\)\t/ s/^#//' file
または(拡張正規表現がサポートされている場合)、いくつかのエスケープを避けることができます
sed -E '/^#\t(ra|ost|java)\t/ s/^#//' file