2

ファイル名を含むファイルがあります。

file1
file2
file3
file4

「rm」を前に追加するシェルスクリプトを作成したい

rm file1
rm file2
rm file3
rm file4

ファイル名の前に rm を追加する方法は?

4

3 に答える 3

5

あなたはそれを多くの方法で行うことができます- sed、、、。vimperlawk

xargsまたは、次のように簡単に使用できます。

xargs rm < filelist

あなたが本当に編集を主張するならfilelist、使用してsedください:

sed 's/^/rm /g' filelist > newscript

(つまり、行の先頭を見つけて、すべての行^に置き換えます)。rm/g

filelist次を使用してインプレースで編集することもできますsed -i

sed -i 's/^/rm /g' filelist
于 2013-02-26T07:42:02.720 に答える
1

mvp の回答が最適だと思いますが、現在のファイル リストを、各ファイル名の前に挿入されたシェル スクリプトに変更rmすることについて話している場合は、正規表現による検索と置換をサポートする適切なテキスト エディターを使用して簡単にこれを行うことができます。

検索語 :^(.)

置換 :rm \1

Viワンライナー:

:%s/^/rm /
于 2013-02-26T09:45:42.687 に答える
0

もう 1 つの方法は、単純なシェル スクリプトを使用することです。

#!/bin/sh

FILE=$1

while read line
do
  echo "Removing $line"
  rm $line
done < $FILE

その後、次のように実行できますsh multirm.sh filelist

単純にファイルに追加したい場合はrm、awk を使用できます。

awk '{ print "rm", $1" }' filelist

于 2013-02-26T07:57:03.367 に答える