[解決済み] ls -l 出力の各行に対する繰り返し処理
2022-06-20 23:33:31
質問
の出力の各行を反復処理したい。
ls -l /some/dir/*
今、私が試しているのは
for x in $(ls -l $1); do echo $x; done
しかし、これは行の中の各要素を別々に反復するので、次のようになります。
-r--r-----
1
ivanevf
eng
1074
Apr
22
13:07
File1
-r--r-----
1
ivanevf
eng
1074
Apr
22
13:17
File2
しかし、私は各行を全体として反復処理したいのですが。 どうすればいいのでしょうか?
どのように解決するのですか?
以下のように、IFSを改行に設定します。
IFS='
'
for x in `ls -l $1`; do echo $x; done
IFSを恒久的に設定したくない場合は、サブシェルで囲んでください。
(IFS='
'
for x in `ls -l $1`; do echo $x; done)
または、代わりにwhile | readを使用します。
ls -l $1 | while read x; do echo $x; done
もう一つのオプションは、同じシェルレベルでwhile/readを実行するものです。
while read x; do echo $x; done << EOF
$(ls -l $1)
EOF
関連
-
apache startup error (98) Address already in use: make_sock: could not bind to...
-
[解決済み] CPAN.pmが@INCに見つからない(@INCには含まれています。/usr/local/lib/perl5 /usr/local/share/perl5。
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] 出力をファイルや標準出力にリダイレクトする方法
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] 整数の合計を1行に1つずつ表示するシェルコマンド?
-
[解決済み] コマンドラインからの 'git commit -m' に改行を追加する
-
[解決済み] コマンドの出力を直接クリップボードにコピーするにはどうすればよいですか?
最新
-
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 sarコマンドによるシステム性能の詳細解析事例
-
Linux Mintシステムでプログラムをアンインストールするには? Linux で不要なアプリケーションをアンインストールするためのヒント
-
ディープインシステムの画面解像度を設定する方法は?ディープインシステムの解像度を設定する方法
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
GCCのバージョンによる浮動小数点演算の例外発生
-
Process.waitFor()の戻り値の意味するところ
-
[解決済み] CPAN.pmが@INCに見つからない(@INCには含まれています。/usr/local/lib/perl5 /usr/local/share/perl5。
-
[解決済み] Bashシェルスクリプト - フラグをチェックし、その値を取得します。
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?