私はsedをシェルスクリプトの一部として実行して、バインドログをデータベースに挿入するためにクリーンアップします。SEDを行の最初の10文字に制限する
のsedコマンドの一つは以下の通りです:
sed -i 's/-/:/g' $DPath/named.query.log
これは、それは(私が使用しているにもダッシュを含むすべてのリソース要求を乱すとして問題があることが判明:awkの文の区切り文字としてさらに下に)。
私の質問は、上記のsedコマンドを行の最初の10文字に限定するにはどうすればよいですか?私はこれを行う特定のスイッチは見ていませんでした。私は、RegExで動作するものを開発することから始めることさえできません。パターンがリソース要求の一部である可能性があるので、正規表現を使用して前の数値と一致させることはできません。ちょっと、#### - ## - ##のパターンマッチングを使用することすらできません。なぜなら、やはりリソースの一部になる可能性があるからです。
アイデアは大変ありがとうございます。
先生、私はそれをやるつもりだと思います。どうもありがとうございました! – MikeH
または(テストされていない) 'perl -pe 'substr($ _、0、10)=〜s /:/ -/g' file' – tripleee
@tripleee:あなたの(テストされていない)パールを知らない)。 –