0

output.txt という名前のファイルがあるとします。output.txt のすべての行は、異なる単語で始まります。行が「単語」で始まり、行末に「新しい単語」を追加する場合、どのように実行できますか?

4

4 に答える 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 に答える