講義フォルダの複数のサブディレクトリに分散された複数のファイルに宿題を保存する教授がいます。タイトルは「TODO:」です。 1つの作業ファイルでナビゲートするのではなく、これらすべてのタスクをNanoテキストファイルの単一のファイルとして出力したいと思います。他の人に。
このコマンドは頻繁に使用されるため、エイリアスを作成しましたが、実行しようとするたびにカーソルだけが点滅し、何も起こりません。
alias todo='cd /home/csc103/Desktop/shared/csc103-lectures && grep -Rw "TODO:" --after-context=6 --include="*.cpp" . > todo.txt && nano todo.txt'
私がここで何を間違っているのか?
編集する
「何も起こらない」とは、カーソルが点滅し続け、次のプロンプトが表示されないことを意味します。下の図の左側のターミナルウィンドウに示すように。
ただし、ctrl-Cを使用してプロセスを強制終了すると、todoコマンド別名を使用して目的のディレクトリに移動します。そこにtodo.txtファイルがあります。
また、関連性がある場合は、VirtualBoxのArch Linuxインストールでこれらのコマンドを実行します。
答え1
すでに理解しています。アドバイスありがとうございます。ここでの問題は、grepがtodo.txtファイルから「TODO:」を繰り返し検索してから、この結果をtodo.txtファイルに書き戻すことです。 todo.txt を開くと、同じテキストが繰り返し繰り返され、埋められます。当然--exclude="todo.txt"
のオプションを使用する必要がありますgrep
。追加すると完璧に動作します。