私はイムは、各ラインに仕事「プレフィックスを」プレフィックスしようとしているが、代わりにこのエラーを取得しています..行ずつテキストファイルをループし、次のbashコードを持っている:ファイル内の各行の先頭に文字列を追加するにはどうすればよいですか?
[email protected]:~/Desktop$ ./appendToFile.sh stusers.txt kp
stusers.txt
kp
./appendToFile.sh: line 11: /bin/sed: Argument list too long
[email protected],passw0rd
これはbashのですスクリプト..
#!/bin/bash
file=$1
string=$2
echo "$file"
echo "$string"
for line in `cat $file`
do
sed -e 's/^/prefix/' $line
echo "$line"
done < $file
私はここで間違っていますか?
更新: ファイルの先頭を実行すると、すべての行が端末の1行にダンプされます。
[email protected]:~/Desktop$ head stusers.txt
[email protected]:~/Desktop$ ouse.com,passw0rd
おそらくファイルに無効な行末を持っています。おそらく 'dos2unix'が必要です –
@WilliamPursellファイルに対してdos2unixを実行しようとしましたが、新しい行を挿入しませんでした。最も簡単な解決策はファイルの内容を新しいファイルにコピーすることです。 – bobbyrne01