output.txt という名前のファイルがあるとします。output.txt のすべての行は、異なる単語で始まります。行が「単語」で始まり、行末に「新しい単語」を追加する場合、どのように実行できますか?
質問する
81 次
4 に答える
2
Perl を使用する 1 つの方法を次に示します。
perl -p -e'$_ .= "new word" if /^word/" output.txt > newfile.txt
ファイルをその場で編集したい場合は、「その-i
場で編集」用の Perl のフラグを使用します。
perl -i -p -e'$_ .= "new word" if /^word/" output.txt
sed または awk を使用することもできます。
于 2013-03-24T01:18:41.527 に答える
2
アンディの答えは良いです。使用したい場合sed
は、行うことができます
sed 's/\(^word.*$\)/\1new word/' input.txt > output.txt
于 2013-03-24T01:22:00.297 に答える
1
while read i; do
if [[ $i == word* ]]; then
echo ${i}newword >> newfile
else
echo $i >> newfile
fi
done < "file.txt"
于 2013-03-24T01:20:53.473 に答える
0
awk:
awk '$1 == "word" {$(NF+1) = "new word"} 1' output.txt > tempfile &&
mv tempfile output.txt
最初の単語の正規表現一致は必ずしも必要ではないと思います
于 2013-03-24T01:54:33.103 に答える