ファイル名を含むファイルがあります。
file1
file2
file3
file4
「rm」を前に追加するシェルスクリプトを作成したい
rm file1
rm file2
rm file3
rm file4
ファイル名の前に rm を追加する方法は?
あなたはそれを多くの方法で行うことができます- sed
、、、。vim
perl
awk
xargs
または、次のように簡単に使用できます。
xargs rm < filelist
あなたが本当に編集を主張するならfilelist
、使用してsed
ください:
sed 's/^/rm /g' filelist > newscript
(つまり、行の先頭を見つけて、すべての行^
に置き換えます)。rm
/g
filelist
次を使用してインプレースで編集することもできますsed -i
。
sed -i 's/^/rm /g' filelist
mvp の回答が最適だと思いますが、現在のファイル リストを、各ファイル名の前に挿入されたシェル スクリプトに変更rm
することについて話している場合は、正規表現による検索と置換をサポートする適切なテキスト エディターを使用して簡単にこれを行うことができます。
検索語 :^(.)
置換 :rm \1
Viワンライナー:
:%s/^/rm /
もう 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