[解決済み] tail -nでwhile read lineを使用する方法
2022-03-15 09:47:05
質問
問題あり。
250,000行を超えるCSVダンプファイルがあります。このファイルに対して
while read
- 時間がかかります(ダジャレではありません)。25万行ではなく、最後の1万行まで戻って必要なことをしたいのですが。
コードスニペットです。 現在の私のコードはこれです。
IFS=","
while read line
do
awk_var=`echo "$line" | awk -F" " '{print $0}'`
var_array=($awk_var)
read -a var_array <<< "${awk_var}"
echo "${var_array[1]}"
done </some_directory/directory/file_in_question.csv
質問です。
を使用するにはどうすればよいですか?
tail -n10000
と
while read line
を読むと
file_in_question.csv
をbashスクリプトで実行しますか?
解決方法は?
置き換える。
done </some_directory/directory/file_in_question.csv
を使っています。
done < <(tail -n10000 /some_directory/directory/file_in_question.csv)
は
<(...)
という構文があります。
プロセス代替
. これは、bashが読み取ることができるファイルのようなオブジェクトを作成します。 したがって、これは
some_directory/directory/file_in_question.csv
を直接読み取るのではなく
tail -n10000 /some_directory/directory/file_in_question.csv
.
このようにプロセス置換を使用することで、あなたの
while
ループをサブシェルではなく、メインシェルで実行します。 このため、サブシェルで作成した変数は
while
ループが終了した後も、その値は保持されます。
オリジナルコードの高速化
このコードは、CSVファイルの2列目を印刷するものです。 もし、このコードでできることがこれだけなら、次のように置き換えることができます。
awk -F, '{print $2}' /some_directory/directory/file_in_question.csv
関連
-
[解決済み】シェルスクリプトで整数式が期待されるエラーが発生する
-
[解決済み] Bashスクリプトのset -o pipefailの意味を教えてください。
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] ターミナルで現在の行をクリア/削除するにはどうすればよいですか?
-
[解決済み] Do-whileループをエミュレートする方法は?
-
[解決済み] Bashでの単一行whileループの構文
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「ambiguous redirect」エラーが発生する
-
[解決済み] MacOSのbashターミナルでexport PS1="\u[\033[m]@[\033[32m]\h:\[\033[33;1m]\w[\033[m]\$" は何を意味していますか?
-
[解決済み] Bashで$()と`の違いはあるのでしょうか?重複] [重複
-
[解決済み] Bashでの動的な変数名
-
[解決済み] プロジェクトからすべての .pyc ファイルを削除するにはどうすればよいですか?
-
[解決済み] ConcatenationとAppendの違いについて【終了しました
-
[解決済み] シェルスクリプトで整数式が期待されるエラー
-
[解決済み] condaのアップデート後、ターミナルのプロンプトから(base)を削除する方法
-
[解決済み] bashでのDiffコマンド
-
[解決済み] シェルスクリプトでの連想配列