フォルダーに何百ものテキスト ファイルがあります。テキスト ファイルの行数を対応するテキスト ファイルの先頭に追加する方法を探していますか? Bashを使用してフォルダ内のすべてのファイルに対してこれをすばやく行う方法はありますか?
質問する
297 次
3 に答える
1
以下は、適切なファイルで作業することを保証するために、grep の適切な置換を使用してそれを行います。
for i in $(ls |grep ".txt") ; do c=$(wc -l < $i) ; sed -i '1s/^/$c\n /' $i ; done
/$c\n/ が追加されるため、 /LINECOUNT: $c\n/ を実行できますが、 \n を保持して、前の最初の行が追加されずに 2 行目に移動されるようにします。
于 2013-10-26T01:22:06.993 に答える
0
ここで提供されているソリューションを使用できます - 1 つのファイルに対して機能しますが、必要なファイルのリストに対してループに配置できます。
または、タスクを実行するプログラムを作成することもできます。
結果を別のフォルダーに出力し、バグが発生した場合に最初に元のファイルを上書きしないことをお勧めします。また、空のファイルまたはアクセス権のないファイルのアプローチもテストします。
于 2013-10-26T01:15:51.687 に答える