[解決済み] Bashでファイルの中身をループする
2022-03-19 09:10:28
質問
でテキストファイルの各行を反復処理するにはどうすればよいですか? バッシュ ?
このスクリプトで
echo "Start!"
for p in (peptides.txt)
do
echo "${p}"
done
画面にはこのように出力されます。
Start!
./runPep.sh: line 3: syntax error near unexpected token `('
./runPep.sh: line 3: `for p in (peptides.txt)'
(でもっと複雑なことをしたい)。
$p
画面への出力だけでなく)
環境変数 シェル があります(envより)。
SHELL=/bin/bash
/bin/bash --version
を出力します。
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
cat /proc/version
を出力します。
Linux version 2.6.18.2-34-default (geeko@buildhost) (gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)) #1 SMP Mon Nov 27 11:46:27 UTC 2006
peptides.txtには、次のようなファイルがあります。
RKEKNVQ
IPKKLLQK
QYFHQLEKMNVK
IPKKLLQK
GDLSTALEVAIDCYEK
QYFHQLEKMNVKIPENIYR
RKEKNVQ
VLAKHGKLQDAIN
ILGFMK
LEDVALQILL
解決方法は?
一つの方法として
while read p; do
echo "$p"
done <peptides.txt
コメントで指摘されているように、これは先行するホワイトスペースを切り捨て、バックスラッシュ・シーケンスを解釈し、最終行にラインフィードがない場合はスキップするという副作用がある。これらが懸念される場合は、できます。
while IFS="" read -r p || [ -n "$p" ]
do
printf '%s\n' "$p"
done < peptides.txt
例外的に、もし ループのボディは標準入力から読み込むことができます の場合、別のファイル記述子を使用してファイルを開くことができます。
while read -u 10 p; do
...
done 10<peptides.txt
ここで、10は単なる任意の数(0、1、2とは異なる)である。
関連
-
deepinシステムからログアウトする方法は?deepinシステムからログアウトし、ユーザーを切り替える方法
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Linuxにおけるxinetdサービスの管理方法に関するケーススタディ
-
virtualboxが仮想マシンを開けない場合は?linuxがvirtualboxにアクセスできない時の解決策
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
apache startup error (98) Address already in use: make_sock: could not bind to...
-
[解決済み] WindowsからLinuxへのscpにputtyを使用する
-
[解決済み] cronは内部でどのようにジョブをスケジューリングしているのですか?
-
[解決済み] bash sh - command not found [重複].
-
[解決済み] ls を使用してディレクトリとその合計サイズを一覧表示する
-
[解決済み] Linuxのディレクトリ内のファイルを再帰的にカウントする
-
[解決済み】ファイルを一行ずつ読み込んで変数に値を代入する【重複あり