私は彼の質問で私がどこで間違っているのか本当に理解していません。最初の部分は次のとおりです。
名前に1つ以上の数字を含む/ etcのすべてのファイルとディレクトリ名を一覧表示します。 lsコマンドに「-d」を使用してサブディレクトリに移動しないでください(つまり、繰り返さないでください)。このリストを caine のホームディレクトリに「digit」というファイルとして保存します。 /etcにCDを挿入するときは、lsコマンドを実行して名前の前に/etc/が表示されないようにしてください。
これは、次のコマンドを使用して実行されます。
ls -d *[0-9]* > digit
しかし、質問の2番目の部分は次のとおりです。
前の問題を繰り返します。今回は、/home/caineにCDを入力しながら練習を繰り返します。出力をdigital2に保存します。 「digit」と「digit2」は同じでなければなりません。ただし、「digit2」では、すべてのファイル名が「/etc/」で始まります。
以下のコードがうまくいくと思います。
ls -d ../../etc/ *[0-9]* > digit2
ファイルの内容を見ると、*と数字を使用して設定したパラメータを無視するように見えるので、文を移動してみましたが、なぜこれが機能しないのか混乱しています。
私がどこに間違っているのかについての提案や説明は大いに感謝します。
grepを使ってこれを行うことができることを知っていますが、学び始めたとしても構文を正しく理解できない理由はまだ疑問に思います!
答え1
globを2つの別々の引数に分割する余分なスペースを追加しました。
ls -d ../../etc/ *[0-9]* > digit2
# ^ space
しなければならない
ls -d /etc/*[0-9]* > digit2
../..
ファイルのすべてのポイントを本当に見たくない場合は必要ありません。