私は数千本のファイルを持っています。私は、文字列がファイル全体で一貫して9文字であることを確認する必要があります。そうでなければ、文字列が長さ9文字ではなく、どこでもエラーをスローします。文字列の長さを確認してください -
xxxxxxxxx,xxx
最初の9文字は常に9文字にする必要があり、そうでない場合はエラーをスローします。
------ ERRORS ------
Errors found at _, _, _, _, _, _ ...etc.
私は数千本のファイルを持っています。私は、文字列がファイル全体で一貫して9文字であることを確認する必要があります。そうでなければ、文字列が長さ9文字ではなく、どこでもエラーをスローします。文字列の長さを確認してください -
xxxxxxxxx,xxx
最初の9文字は常に9文字にする必要があり、そうでない場合はエラーをスローします。
------ ERRORS ------
Errors found at _, _, _, _, _, _ ...etc.
あなたがawk
を使用することができる:最初のフィールドは
print "ERROR at line "NR
に沿ってエラーメッセージを出力9つの文字長い場合 awk -F, 'length($1) !== 9 {print "ERROR at line "NR}' file
F,
は,
length($1) !== 9
チェックにフィールド区切り文字を設定します行番号NR
grep
を使用すると、一致しないものを一覧表示できます。 GNUのgrepの使用:
grep -vEn '^[^,]{9},' file
これは、カンマが続く正確9非カンマで起動しません(行番号で始まる)すべての行を示しています。例:
$ cat file
1234567890,foo
123456789,bar
12345678,baz
$ grep -vEn '^[^,]{9},' file
1:1234567890,foo
3:12345678,baz
($ 2)<= 9999の値を追加できますか? –
もちろん、それは 'length($ 1)!== 9 ||長さ($ 2)!== 9999 {print ... ' – hek2mgl
これは9999でない$ 2をすべて出力しますか?9999よりも大きいものだけを出力しますか? –