私のクエリは11個のカラムを持つcsvファイルを持っています。数字が7個のカラムを持つレコードを抽出したいのですが、7番目のカラムはawkコマンドしかし、うまくいきませんでしたUnixのカラムをフィルタリングするにはどうすればいいですか?
答えて
私が理解すれば、あなたは数字として7列の行が欲しいですか?
これを行うにはgrepを使用できます。セパレータとして '' で:あなたの場合
grep ".*,.*,.*,.*,.*,.*,[0-9]*,.*" yourfile.csv
あなたは7列のみ、使用カットしたい場合(-d =>区切り文字を、フィールドを選択-f)
cat yourfile | cut -d, -f7 | grep "[0-9]*"
私は知りません具体的にはbashコマンドを探していますが、Pythonのようなスクリプト言語を使うことをお勧めします。 Pythonでそれを行うための1つの方法は次のとおりです。
count = 0
prunedColumns = []
with open('FILENAME','r') as f:
for line in f:
count = 0
for entry in line.split(','):
try:
float(entry)
count += 1
except ValueError:
continue
if count == 7:
prunedColumns.append(line)
print(prunedColumns)
のファイルがあるとしましょう: Abcの; 123; AAAA; 789 PQR; 567; 5555; 999 エクシーズ; 888; BBBB; 6453 LMN; 777; 5555; 8989 私は出力を期待しています列2(列3は数値のみ) – shikha
まずいくつかのテストデータ:AWKで
$ cat file
1 2 3 4 5 6 7 a b c d # seven numbers, a hit
1 2 3 4 5 6 a b c d e # six, a miss
1 2 3 4 5 6 7 8 a b c # eight, a miss
1 2 3 4 5 6 7a b c d e # seven, a hit
:
$ awk '{
for((i=1)&&c=0;i<=NF;i++) # check each field
if($i~/[0-9]+/) # if there are numbers in it
c++ # iterate counter
}
c==7 # if there are 7 fields, print record
' file
1 2 3 4 5 6 7 a b c d # seven numbers, a hit
1 2 3 4 5 6 7a b c d e # seven, a hit
ジェームス・ブラウンと同じINPUT_FILEを使用して、ここにもう一つのアプローチを試してみてください彼のポストで使用されています。
awk '{val=$0;if(gsub(/[0-9]+/,"",val)==7){print}}' Input_file
出力は以下のようになります。
1 2 3 4 5 6 7 a b c d # seven numbers, a hit
1 2 3 4 5 6 7a b c d e # seven, a hit
一部の行の数値と他の列の文字列を持つ7列目を探しています – shikha
@shikha:コードサンプルでInput_fileのサンプルと予想される出力を追加してください私たちがあなたを助けてくれるのは本当に役に立ちます。 – RavinderSingh13
cat file.csv | awk '{print $7}'| egrep -v [a-z]+
- 1. jsonをタイムスタンプに基づいてフィルタリングするにはどうすればよいですか? UNIX
- 2. UnixソケットでDaphneをバインドするにはどうすればいいですか?
- 3. NSPredicateでNSArrayをフィルタリングするにはどうすればいいですか
- 4. Haskellでリストをフィルタリングするにはどうすればいいですか?
- 5. Unix:複数の行を読むにはどうすればいいですか?
- 6. Linux UNIXソケットでのライブロック、どうすればよいですか?
- 7. オブジェクトからキーをフィルタリングするにはどうすればよいですか?
- 8. ユーザーリストテーブルのviews_editをフィルタリングするにはどうすればよいですか?
- 9. テキストフィールドでSharePointリストをフィルタリングするにはどうすればよいですか?
- 10. javascriptでJSONデータをフィルタリングするにはどうすればよいですか?
- 11. Laravelのリレーションシップ列でフィルタリングするにはどうすればよいですか?
- 12. プライベートユーザをユーザインタラクションにフィルタリングするにはどうすればよいですか?
- 13. テーブル内のカラム値を変更するのに$ watchを使うにはどうすればいいですか
- 14. DataListをフィルタリングするにはどうすればよいですか?
- 15. cssカラムを使用してカラム幅をコンテンツサイズに調整するにはどうすればよいですか?
- 16. UNIXで正しい月の順番を確認するにはどうすればいいですか?
- 17. emacsからunixサーバーに自分のコードを取得するにはどうすればいいですか?
- 18. 長いコメントをmysqlのテーブルやカラムに追加するにはどうすればいいですか?
- 19. 文字列の配列をフィルタリングしてフィルタリングするにはどうすればよいですか?
- 20. Unix上でコンソールカーソルを(x、y)に移動するにはどうすればいいですか?
- 21. SQLiteデータベースにアンドロイドでカラムを動的に保存するにはどうすればいいですか?
- 22. フィーチャマップに保存されているデータポイントをフィルタリングするにはどうすればよいですか?
- 23. Core Dataにオブジェクトが含まれているテーブルビューをフィルタリングするにはどうすればよいですか?
- 24. MySQLiとPHPでカラムのSUMを表示するにはどうすればいいですか?
- 25. カラムを日付の値にするにはどうすればいいですか
- 26. カサンドラの更新と挿入カラムをヌルに設定するにはどうすればいいですか?
- 27. 配列[Byte]を、slickとmariadbでバイナリデータ型カラムに挿入するにはどうすればいいですか?
- 28. Firebaseでindexon unixタイムスタンプを実行するにはどうすればいいですか?
- 29. プリペアドステートメントの作成時にオプションのカラムを扱うにはどうすればいいですか
- 30. SQL日時形式をunix形式に変換するにはどうすればいいですか?
、すでに試してみました何と一緒に予想される出力を持ついくつかのサンプルデータを投稿してください。 –