最新記事

一部のinputrc文字列をgrepできません。
bash
grep
regular-expression
quoting
string

一部のinputrc文字列をgrepできません。

bind -p |grep -E "\\e.\":"働く しかし、 bind -p |grep -E "\\e\\C-.\":"動作しない いくつかの組み合わせを試しましたが、

Admin

glibc regex(7)/GNU sed/grep/egrep 正規表現でエスケープ回数を計算する最良の方法は何ですか?
sed
grep
regular-expression
posix

glibc regex(7)/GNU sed/grep/egrep 正規表現でエスケープ回数を計算する最良の方法は何ですか?

与えられた bash 環境変数の設定: $ declare -g bs=$'\\' bsbs=$'\\\\' q="'"; この正規表現は、一重引用符("'")テキストのシーケンスと正確に一致します。ここで、これらのテキストにはエスケープされた一重引用符を含めることができます。 "[${bs}${q}]((([^${bsbs}]?[^${bs}${q}])|(${bsbs}${bs}${q}))+)[${bs}${q}]" $ echo "[${bs}${q}]((([^${bsbs}]?[^${bs}${q}])|(${bsbs}${bs}${q}))+)[${bs}${q}]" [\']((([^\\]?[^\'])|(\\\'))+)[\'] (「[\ ']」の逆引用符は必ずしも必要ではありませんが、誰かがこの値を一重引用符で囲んだ文字列にエンコードしようとすると、明確にするために含まれます。) 問題は、これをエスケープ引用符で一般化する最善の方法と、入力エスケープ文字が奇数の長さ((n&1)== 1)サイズ(バイト数)の場合にのみ、複数のエスケープシーケンスの実行を処理する方法です。最後のエスケープはACTIVEで、最後の文字はINACTIVE(文字列の一部)です。それ以外の場合(エスケープ回数は偶数((n&1)==0))、文字列にはエスケープ回数の半分が含まれます(n>> 1)。最後の文字はACTIVE(つまりエスケープされていません)です。 また、sedとgrep / egrepにはいくつかの問題があります。 o一致するサブグループは、後続の「\ 1+」グループ番号を占めることで数字を増やすことができます。 - 後続グループが一致しない場合 - 理想的には、後続のサブグループ番号に影響を与える可能性があるサブグループなしでこの正規表現を表現できることを願っています。 o エスケープ番号をまったく処理せず、 エスケープ番号による参照もエスケープされないことを認識しません。 だから私の質問は次のようになります glibcサポートPOSIX REまたはgrep / sed REのみを使用してこれらの問題を解決するための最良の方法は何ですか? つまり。 RegExp内で、任意の長さの奇数(有効なエスケープ)または偶数(誤ったエスケープ)長のエスケープシーケンスを認識することを許可しますか? 私はPOSIX REがこの種の問題を処理するために、次の特殊な構文の利点を享受できると思います。 [\\]{1,}\#&1\?$A\:$B ここで '}#&1' は前の [\]{...} グループ 'x & 1' と一致する要素数のテストを意味し、 ?x:y は "最後のテストが true なら x を置き換えます。場合は、xを置き換えます」を意味します。 REのy」。 これにより、実際にはRegExp解析文字列内のすべてのエスケープの数に関係なく、簡単かつ安全に処理できます。このような新しいRE構文なしでこれを行うには? RegExp式のみを使用することは不可能でも実行不可能でもありませんが、非常に困難です。 それとも私が間違っていますか? これで、最新のPOSIX REで以前のセットの実行長に対して算術を実行する簡単な方法はありますか? 例1: $ declare -g bs=$'\\' bsbs=$'\\\\' q="'"; $ echo "'a quot\\'d string' 42" | sed -r 's/'"[${bs}${q}]((([^${bsbs}]?[^${bs}${q}])|(${bsbs}${bs}${q}))+)[${bs}${q}]"'[[:space:]]([0-9]+)/\1\t:\t\2/' 'a quot'd string : g 例2: $ echo "'a quot\\'d string' 42" | sed -r 's/'"[${q}]((([^${bsbs}]?[^${q}])|(${bsbs}${q}))+)[${q}]"'[[:space:]]([0-9]+)/\1\t:\t\2/' a quot\'d string : g @rowboatが言及した$ {bs} -esがどのように削除されたかを確認してください。結果は、$bsbs の代わりに $bs を使用した結果と同じです。 $ echo "'a quot\\'d string' 42" | sed -r 's/'"[${q}]((([^${bs}]?[^${q}])|(${bs}${q}))+)[${q}]"'[[:space:]]([0-9]+)/\1\t:\t\2/' a quot\'d string : g 結論として: 私はglibc、PCRE、PERL、cl-ppcre(SBCLのCommon Lisp REライブラリ)とEmacsのREライブラリによって提供される「regex(7) - POSIX.2正規表現」ライブラリの非POSIX拡張を開発しています。 o 名前付き POSIX 文字クラス (例: '[[:spaceesc:]]' または '[^[:space-esc:]]' または '[[) の接尾辞 "-esc" または "esc" の意味を定義します。 : quote-esc:]]' これは通常、文字クラス 'X' のメンバーである文字が文字クラス '${X}esc' ('${X}- の同義語) のメンバーではないことを意味します。 esc') IFFの前に出ます。奇数のエスケープ文字 ('\':ASCII "\x5c" ) があります。 All character sequences that are subject to an :*esc: character class test will have legal '\\' , '\xXX', '\0OOO', or '\Uxxxxxx' or '\uXXXX' sequences replaced by : ASCII:\x5c , ASCII:\xXX (where XX are hex digits), ASCII:\OOO (where OOO are Octal digits) , 24-bit unicode value with code point xxxxxx (x: hex digit) , and 16-bit unicode value with code point xxxx (x: hex digit) , respectively. Also '[[:quote:]]' and '[[:quoteesc:]]' classes must be supported that select characters (or non-escaped chars) with the Unicode 'Quotation Mark' binary attribute, and '[[:punct:]]' or '[[:punctesc:]]' would similarly apply to all (non-escaped) chars which have the Punctuation attribute. Perhaps a similar '*cesc' or '*escc' character class suffixes could be provided that support also the C escapes: '\n','\r','\t','\v','\b','\l'... etc. If the /

Admin

列のゼロ値のフィルタリング
awk
sed
grep

列のゼロ値のフィルタリング

次のデータセットがあります。 071,36,035,08422,46217,00000,1,A,Broadalbin village (pt.),New York,18,46,46,46,45,45,44,46,44,46,43,43 071,36,045,29322,56209,00000,1,A,Glen Park village (pt.),New York,42,42,42,42,43,42,44,43,42,42,41,40 162,36,000,64881,00000,00000,0,A,Saltaire village,New York,37,41,41,41,41,41,41,41,41,41,41,41 157,36,103,64881,00000,00000,0,A,Saltaire village,New York,37,41,41,41,41,41,41,41,41,41,41,41 071,36,103,64881,38000,00000,1,A,Saltaire village,New York,37,41,41,41,41,41,41,41,41,41,41,41 061,36,013,00000,13035,00000,1,F,Cattaraugus Reservation,New York,38,38,38,38,37,37,39,39,38,38,38,40 061,36,029,00000,75011,00000,1,F,Tonawanda Reservation,New York,34,34,34,34,34,34,34,37,37,37,37,36 061,36,009,00000,60950,00000,1,A,Red House town,New York,38,33,33,33,34,34,35,35,34,34,35,35 071,36,065,61115,75280,00000,1,A,Remsen village (pt.),New York,28,28,28,28,28,30,28,27,27,29,29,29 071,36,023,35276,18421,00000,1,A,Homer village (pt.),New York,31,31,31,31,31,30,30,30,30,29,29,29 071,36,099,55816,63440,00000,1,A,Ovid village (pt.),New York,19,27,27,27,27,29,29,26,26,26,26,25 071,36,059,22260,56000,00000,1,A,East Hills village (pt.),New York,23,23,23,23,23,23,23,23,23,23,23,23 071,36,059,47636,34000,00000,1,A,Mineola village (pt.),New York,16,22,22,22,22,22,22,22,22,22,22,22 071,36,043,37275,27199,00000,1,A,Ilion village (pt.),New York,22,23,23,23,23,23,22,22,22,22,22,22 071,36,029,82084,15011,00000,1,A,Williamsville village (pt.),New York,18,13,13,13,13,13,13,13,13,13,13,13 162,36,000,20379,00000,00000,0,A,Dering Harbor village,New York,11,11,11,11,11,11,11,11,11,11,11,11 157,36,103,20379,00000,00000,0,A,Dering Harbor village,New York,11,11,11,11,11,11,11,11,11,11,11,11 071,36,103,20379,66839,00000,1,A,Dering Harbor village,New York,11,11,11,11,11,11,11,11,11,11,11,11 071,36,071,26319,29553,00000,1,A,Florida village (pt.),New York,4,5,5,5,5,5,5,5,5,5,5,5 071,36,099,78553,66333,00000,1,A,Waterloo village (pt.),New York,4,4,4,4,4,4,4,4,4,4,4,4 071,36,057,26924,12122,00000,1,A,Fort Plain village (pt.),New York,3,4,4,4,4,4,4,4,4,4,4,4 071,36,053,31709,23305,00000,1,A,Hamilton village (pt.),New York,5,3,3,3,3,3,3,3,3,3,3,3 061,36,003,00000,54523,00000,1,F,Oil Springs Reservation,New York,1,1,1,1,1,1,1,1,1,1,1,1 157,36,099,28640,00000,00000,0,A,Geneva city (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 071,36,099,28640,28640,00000,1,A,Geneva city (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 071,36,089,46019,51330,00000,1,A,Massena village (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 071,36,071,15297,29553,00000,1,A,Chester village (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 071,36,059,28178,53000,00000,1,A,Garden City village (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 071,36,053,31709,44435,00000,1,A,Hamilton village (pt.),New York,2,0,0,0,0,0,0,0,0,0,0,0 071,36,051,19664,70101,00000,1,A,Dansville village (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 071,36,039,36167,38638,00000,1,A,Hunter village (pt.),New York,A,0,0,0,0,0,0,0,0,0,0,0 071,36,037,18201,19719,00000,1,A,Corfu village (pt.),New York,0,0,0,0,0,0,0,0,0,0,0,0 061,36,099,00000,28640,00000,0,F,Geneva city,New York,0,0,0,0,0,0,0,0,0,0,0,0 061,36,063,00000,75011,00000,1,F,Tonawanda Reservation,New York,0,0,0,0,0,0,0,0,0,0,0,0 061,36,013,00000,14072,00000,1,S,Chautauqua Lake UT,New York,0,0,0,0,0,0,0,0,0,0,0,0 061,36,009,00000,54523,00000,1,F,Oil Springs Reservation,New York,0,0,0,0,0,0,0,0,0,0,0,0 ゼロ以外の最後の列で最小数の10行を印刷したいと思います。 071,36,043,37275,27199,00000,1,A,Ilion village (pt.),New York,22,23,23,23,23,23,22,22,22,22,22,22 071,36,029,82084,15011,00000,1,A,Williamsville village (pt.),New York,18,13,13,13,13,13,13,13,13,13,13,13 162,36,000,20379,00000,00000,0,A,Dering Harbor village,New York,11,11,11,11,11,11,11,11,11,11,11,11 157,36,103,20379,00000,00000,0,A,Dering Harbor village,New York,11,11,11,11,11,11,11,11,11,11,11,11 071,36,103,20379,66839,00000,1,A,Dering Harbor village,New York,11,11,11,11,11,11,11,11,11,11,11,11 071,36,071,26319,29553,00000,1,A,Florida village (pt.),New York,4,5,5,5,5,5,5,5,5,5,5,5 071,36,099,78553,66333,00000,1,A,Waterloo village (pt.),New York,4,4,4,4,4,4,4,4,4,4,4,4 071,36,057,26924,12122,00000,1,A,Fort Plain village (pt.),New York,3,4,4,4,4,4,4,4,4,4,4,4 071,36,053,31709,23305,00000,1,A,Hamilton village (pt.),New York,5,3,3,3,3,3,3,3,3,3,3,3 061,36,003,00000,54523,00000,1,F,Oil Springs Reservation,New York,1,1,1,1,1,1,1,1,1,1,1,1 これまで使用したコマンドは次のとおりです。 cat [filename] | grep 'New York' | sort -n -r -t, -k20 しかし、残りの作業を行う方法がわかりません。そのためにはgrepが必要だと確信しています。

Admin

再帰パターン検索 - 出力形式:一致するファイルごとに、特定のファイル名「\ n」、行番号、および色一致「¥ n」文を印刷します。
awk
grep
text-formatting
special-characters

再帰パターン検索 - 出力形式:一致するファイルごとに、特定のファイル名「\ n」、行番号、および色一致「¥ n」文を印刷します。

Linuxでは、次のファイルコンテンツ検索コマンドが必要です。 md、txt、htm などの指定されたファイルを検索します。 フォルダとそのサブフォルダで繰り返し実行します(例:)。 コンテンツ検索は正規表現パターンである可能性があります(例:tomat。* es)。 一致する項目の周囲のテキストを出力します。 出力は次の形式です。、各ファイルを空行で区切ります。 file1 lineNr1:text1 lineNr2:text2 file2 lineNr1:text1 lineNr2:text2 6/最後の基準である出力は視覚的に明確でなければなりません。したがって、端末でgrepなどのカラースキームを使用してください。 ファイルの色はcolor_1(紫色など)です。 color_2のlineNr(例:緑) テキスト出力の場合: color_3のテキストを一致させます(例:赤)。 残りのテキストはcolor_4です(たとえば、白)。 もともと、grepはこれを行いますが、出力形式を変更したいと思います。、今すぐ: file1:lineNr1:text1 file1:lineNr2:text2 file2:lineNr1:text1 file2:lineNr2:text2 私が望むのは検索結果に集中することですが、ディレクトリ検索を行うときに検索結果の前にファイルパス名があると検索がより複雑になります。ファイルに一致する項目が複数ある場合。私が望むのは、各ファイルが自分が探しているものを直接見ることができることです。ファイル、サブフォルダ、一致が多いほど、明確なフォーカスが重要になります。 したがって、grepは長い出力を提供し、フォーカスを失います。おそらくgrepコマンドの新機能として要求する必要があります。 欲しいものに近いです。 test.txtに次の2つの文があるとします。 2023-09-25: after colon char does not output the sentence. 2023-09-25 outputs line as there is NO colon preceding match. 次に、次のcliを実行します。 grep -rwn --include=\*.{md,txt} -ie "output.*" --color=always | awk -F: '{if(f!=$1)print "\n"$1; f=$1; print $2 ":" $3;}' この例では、1行目の出力は「:」で停止し、2行目では美しい出力が表示されます。添付ファイルを参照 したがって、一致するテキストにコロン ":" が含まれていない場合、このクエリは操作を実行します。一致の周りにテキスト出力がないため、検索出力の使い勝手が悪くなります。 より複雑な例(txtファイルを添付できません): utf-8 encoded # We're interested in searching on the word: tomato or tomate in french In markdown file it can be put in bold using **tomatoes** In a html file, content is full of tags, put a word in bold can be put in many way, such as tomato Let's see what the search will return on these combinations: 1. At 6:45 will eat tomato soup. 2. Tomatoes were cooked for the soup recipe, but what time do we eat tomato soup? Isn't it six forty-five, aka 6:45? 3. Tomate en français 4. tomates: pluriel du mot tomate. Could be tricky to restrict search only on bilingual TOMATO's variation, as for instance in automatically, there is auTOMATically. Regular expression are of help. 一致が2つのサブフォルダにあると仮定すると、このCLIは次のように明確に説明します。 grep -rn --include=\*.{md,txt} -iP "tomat[eo]s*" --color=always | awk -F: '{if(f!=$1)print "\n"$1; f=$1; print $2 ":" $3;}' ただし、追加出力コロン文字 ":" 以降の内容は出力には現れません。、コロン ":" を ";" に変更すると、違いを見ることができます。 grep出力と比較 出力検索結果をプレーンテキストファイルにダンプしようとすると、カラースキームが失われると視覚情報が失われます。したがって、タグを含むhtmlファイルは色情報を回復します。これは、次のhtml出力で実行できます。:

file_1

lineNr1:beginning of surrounding matchSEARCH_PATTERNend of surrounding match
lineNr2:beginning of surrounding matchSEARCH_PATTERNend of surrounding match

file_2

lineNr1:beginning of surrounding matchSEARCH_PATTERNend of surrounding match
lineNr2:beginning of surrounding matchSEARCH_PATTERNend of surrounding match
スタイルクラスでカラースキームを取得できます。 さて、grepとawkを試してみましたが、他の組み合わせが仕事にとってより良いアイデアかもしれません。 ありがとう

Admin

スペースなしで長い文字列から短い文字列を取得する
grep
cat

スペースなしで長い文字列から短い文字列を取得する

空白のない大きな文字列を持つファイルがあります(例:「A」:123、「B」:456、「C」:789 ...)。 特定の数字の前後にX文字をインポートしたいと思います。値(例:「B」付近の値)。 ただし、catを使用すると、文字列にスペースがないため、文字列全体が返されます。 試してみましたが、cat time_series.json | grep "B" | cut -c1-50すべて戻ってきました。 試してみましたが、cat time_series.json | grep "B" | cut -b 1-400最初の部分だけを返します。 (文字列は中間にあります。) どうすればいいですか?

Admin

boot.logファイルのどの部分がバイナリですか?
linux
grep
logs
cat
binary

boot.logファイルのどの部分がバイナリですか?

私のシステムは、カーネルの更新後に常にランダムに起動に失敗するようです。したがって、問題の原因を特定するためにログを読んでいます。これは起動ログの1つです。 $ sudo cat /var/log/boot.log.1 ------------ Sat Aug 26 12:45:00 GMT 2023 ------------ /dev/mapper/linux--vg-root: clean, 1261921/90649104 files, 50539269/60917669 blocks [ OK ] Finished plymouth-read-write.service - Tell Plymouth To Write Out Runtime Data. [ OK ] Finished systemd-binfmt.service - Set Up Additional Binary Formats. Starting binfmt-support.service - Enable support for additional executable binary formats... [ OK ] Finished systemd-tmpfiles-setup.service - Create Volatile Files and Directories. [ OK ] Started resolvconf.service - Nameserver information manager. [ OK ] Reached target network-pre.target - Preparation for Network. Starting systemd-update-utmp.service - Record System Boot/Shutdown in UTMP... [ OK ] Finished systemd-update-utmp.service - Record System Boot/Shutdown in UTMP. [ OK ] Finished binfmt-support.service - Enable support for additional executable binary formats. [ OK ] Finished apparmor.service - Load AppArmor profiles. [ OK ] Started haveged.service - Entropy Daemon based on the HAVEGE algorithm. Starting networking.service - Raise network interfaces... Starting snapd.apparmor.service - Load AppArmor profiles managed internally by snapd... (Redacted) [ OK ] Started snapd.service - Snap Daemon. Starting snapd.seeded.service - Wait until snapd is fully seeded... ただし、失敗した行をフィルタリングしようとすると、grep表示は拒否されます。 $ sudo cat /var/log/boot.log.1 | grep "FAILED" grep: (standard input): binary file matches 有効にした場合にのみ-a出力を表示できます。 $ sudo cat /var/log/boot.log.1 | grep -a "FAILED" [FAILED] Failed to start apache2.service - The Apache HTTP Server. cat出力にバイナリは表示されません。どこ?しかし、これがapacheブート失敗の原因になる可能性がありますか?

Admin

ファイル名がファイルに含まれる文字列と一致するファイルの削除
linux
grep
find

ファイル名がファイルに含まれる文字列と一致するファイルの削除

del.txtランダムに生成された識別文字列のリストを含むテキストファイルがあります。たとえば、次のようになります。 07ckv978yk0 HuinLBoZHcY _oR7ccXiunY ファイル名に識別文字列を含むすべてのファイルを削除したいです。ファイル名20191223_abcdef_07ckv978yk0.jsonは、必ずしも.jsonである必要はないファイル拡張子の直前、ファイル名の末尾に一致する文字列を見つけることができる形式です。各文字列に一致する複数のファイルを持つことはできますが、ファイルに一致する複数の文字列を持つことはできません。 似たようなことを試してみましたが、うまくいくようfind . -type f -name "*" -exec grep -Flf ~/del.txt '{}' \; -printですが、非常に長い時間がかかりました(一致する文字列が2000個で、確認する必要があるファイル名がはるかに多い)。拡張子を指定して作業をスピードアップできますが、ファイル拡張子はさまざまなので、これを行うより賢い方法があることを願っています。

Admin

grep を使用して、正規表現でグループ化されたすべての行を検索します。
command-line
grep
regular-expression

grep を使用して、正規表現でグループ化されたすべての行を検索します。

したがって、ドキュメントには次の形式の文字列が含まれます。 9s5s4sKs7h6h4h2d4dAdTd2c3c 6hKhQs6s3s7s5d3d2d9dKdAd4h 5s9sTs8hKhJc4s6c4hJsAc2dKs 各行は、数字/大文字と小文字のペアで構成されています。 同じ小文字(Ksや2dなど)を持つグループペア(互いに隣り合う)を持つすべての行を見つけたいです。したがって、最初の行で「s」を持つペアはすべて互いに隣り合い、「h」ペア、「d」、「c」の順になります。 可能な小文字は 4 つ (s, c, d, h) だけなので、次の正規表現を作成しました。 ^.(.)(.\1)*.(.)(.\3)*.(.)(.\5)*.(.)(.\7)* .*$ しかし、それは次の行を説明しません。 6hKhQs6s3s7s5d3d2d9dKdAd4h 最初は「h」のペアがあり、次に別のペアがあり、最後に「h」のペアがあります。したがって、この行は一致しないでください。 これにはgrepコマンドを使用します。 例: grep -P "^.(.)(.\1)*.(.)(.\3)*.(.)(.\5)*.(.)(.\7)* .*$" file.txt 入力する: 9s5s4sKs7h6h4h2d4dAdTd2c3c 6hKhQs6s3s7s5d3d2d9dKdAd4h 5s9sTs8hKhJc4s6c4hJsAc2dKs 出力: 9s5s4sKs7h6h4h2d4dAdTd2c3c この行には最初に「s」ペアがあり、次に「h」ペア、「d」ペア、最後に「c」ペアがあります。 6hKhQs6s3s7s5d3d2d9dKdAd4h最初に「h」ペアセットがあり、別のペアがあり、最後に別の「h」ペアがあるため、行は一致しません。これは、互いにグループ化されておらず、行が一致しないことを意味します。

Admin

awkを使用してファイル内の文字列が見つかった場合、trueを返すにはどうすればよいですか?
shell-script
awk
grep

awkを使用してファイル内の文字列が見つかった場合、trueを返すにはどうすればよいですか?

次のファイルがあります。 xxxxx,aaaaaa,abab21323,ccccccc ファイルに変数として指定された文字列が含まれている場合は、特定のコマンドを実行するスクリプトが必要です。それ以外の場合は、別のコマンドを実行してください。 これは私のbashコードです。 #!/bin/bash var1=$1 if grep -Fq "$var1" Agenda.txt then ## SOME COMMANDS else ## SOME OTHER COMMANDS fi 動作しますがawk。

Admin

パターン間の行末に特定の値を追加します。
text-processing
awk
sed
grep

パターン間の行末に特定の値を追加します。

テキスト行を下の行の末尾に移動し、新しいパターン一致が見つかるまで移動したx行の値をコピーしたいと思います。ファイル内の他のテキスト処理方法をすべて調べましたが、モード間のコピーと貼り付けは混乱しています。 AWK/sed/grepでこれを達成できますか?実際のファイルが非常に大きく、ディスクが非常に高速に満たされているため、csplitは使用できません。 ありがとうございます! たとえば、次のようなテキストファイルがあります。 Voting Round 0 Ag_1 || 1 || 0 || 1 | Ag_2 || 1 || 1 || 0 | Ag_2 || 1 || 1 || 0 | Ag_11 || 1 || 1 || 0 | Voting Round 1 Ag_1 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | Voting Round 2 Ag_1 || 1 || 0 || 1 | Ag_1 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | Voting Round 3 Ag_1 || 1 || 0 || 1 | Ag_11 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | Ag_1 || 1 || 1 || 0 | 次のようなものを作成したいと思います。 Ag_1 || 1 || 0 || 1 | 0 Ag_2 || 1 || 1 || 0 | 0 Ag_2 || 1 || 1 || 0 | 0 Ag_11 || 1 || 1 || 0 | 0 Ag_1 || 1 || 1 || 0 | 1 Ag_1 || 1 || 1 || 0 | 1 Ag_1 || 1 || 1 || 0 | 1 Ag_1 || 1 || 1 || 0 | 1 Ag_1 || 1 || 0 || 1 | 2 Ag_1 || 1 || 1 || 0 | 2 Ag_1 || 1 || 1 || 0 | 2 Ag_1 || 1 || 1 || 0 | 2 Ag_1 || 1 || 0 || 1 | 3 Ag_11 || 1 || 1 || 0 | 3 Ag_1 || 1 || 1 || 0 | 3 Ag_1 || 1 || 1 || 0 | 3

Admin