条件に基づいてフィルタリングする awk コマンドを作成しました。
awk '{if(( (substr($0,9,3) == "TGO") && ((substr($0,1,4) == "9123" || (substr($0,1,4) == "9704"))) print (substr($0,279,2),substr($0,1,4),substr($0,5,8));}' Downloadfinance.txt
構文エラーです。いくつかの方法を試しましたが、まだ同じ例外が発生します。
これはエラーです。
awk: cmd. line:1: {if(( (substr($0,9,3) == "TGO") && ((substr($0,1,4) == "9123" || (substr($0,1,4) == "9704"))) print (substr($0,9,3),substr($0,1,4),substr($0,5,8));}
awk: cmd. line:1: ^ syntax error
awk: cmd. line:1: {if(( (substr($0,9,3) == "TGO") && ((substr($0,1,4) == "9123" || (substr($0,1,4) == "9704"))) print (substr($0,9,3),substr($0,1,4),substr($0,5,8));}
awk: cmd. line:1: ^ syntax error
ベストアンサー1
2つが欠落しているか、1つが欠落していて)
もう)
1つがありません。(
修正されたコード(追加の角かっこが削除されました。改行は説明のためのものであり、実際には実行されません):
{
if (
substr($0,9,3) == "TGO" &&
(
substr($0,1,4) == "9123" || substr($0,1,4) == "9704"
)
)
print substr($0,279,2), substr($0,1,4), substr($0,5,8)
}
または(この構文は改行文字の位置に適しています)
{
if (substr($0,9,3) == "TGO" && (substr($0,1,4) == "9123" || substr($0,1,4) == "9704" ))
print substr($0,279,2), substr($0,1,4), substr($0,5,8)
}
または(パターンジョブメカニズムを使用)
substr($0,9,3) == "TGO" && (substr($0,1,4) == "9123" || substr($0,1,4) == "9704") {
print substr($0,279,2), substr($0,1,4), substr($0,5,8)
}
コードの形式は上記の最初の変形と同じですが、すべての括弧はそのまま残ります。
{
# too many ( below
if ((
(substr($0,9,3) == "TGO") &&
(
# missing ) below, alt. too many ( and )
(substr($0,1,4) == "9123" || (substr($0,1,4) == "9704")
)
)
print (substr($0,279,2),substr($0,1,4),substr($0,5,8))
}