ファイル名を含むファイルがあります。
file1
file2
file3
file4
「rm」を前に追加するシェルスクリプトを作成したい
rm file1
rm file2
rm file3
rm file4
ファイル名の前に rm を追加する方法は?
あなたはそれを多くの方法で行うことができます- 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
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