私は31899行のファイルが1つあります。文字列betwwen []を印刷したいのですがどうすればいいですか。テストと2文字列のテストのみが必要です。2文字の間の文字列を読み取る
[TEST]
var=15
[TEST2]
dex=78
私は31899行のファイルが1つあります。文字列betwwen []を印刷したいのですがどうすればいいですか。テストと2文字列のテストのみが必要です。2文字の間の文字列を読み取る
[TEST]
var=15
[TEST2]
dex=78
GNU AWK固有溶液:
gawk 'match($0,/^\[(.*)\]/, ary) { print ary[1]}' < yourFile
for /f "delims=[]" %%a in ('find "[" "filename" ') do echo %%a
(バッチ線として - プロンプトから直接実行する%
に各%%
を減らす)
含むすべてのラインについて[
、2つの指定された文字でデリートされた最初のトークンを抽出します。
[
のすべてのインスタンスがサンプルに示されていると仮定します。
Magooの答えにはいくつかの小さなエラーがありましたが、代わりにこれらのいずれかを試してみてください。
バッチファイル、(カレントディレクトリがartmd.iniが含まれています):
@For /F "Delims=[]" %%A In ('Find "["^<"artmd.ini"') Do @Echo=%%A
コマンドプロンプト、(カレントディレクトリがartmd.iniが含まれています):
For /F "Delims=[]" %A In ('Find "["^<"artmd.ini"') Do @Echo=%A
私はこれを試してみました1つはubuntuですが、私は何も見ません。私は新しい文書 '#!bin/bash gawk 'を開きました($ 0、/^\ [(。*)\] $ /、ary){print ary [1]}'
私のために働きます。ファイルにCRLFの行末が含まれている可能性があります。パターンから '$ 'を削除しました。それを試してください。 – Locoluis