私は1000行のdatファイルを持っていますが、各行からいくつかの文字を切り捨てる必要があります:-c900-903。この抽出された文字の長さが空白でない場合、行全体を新しいdatファイルに出力する必要があります。どのように私はUNIXスクリプトでそれを行うことができますか?UNIXのdatファイルの読み込みスクリプト
私はあなたがスペースを必要とするIFS=
した後、この
while IFS=read -r line; do
characters= cut -c900-903
if [ -n $characters ]
then
echo "$line"
fi
done < $inputfile > $output file.
文字がすべて空白文字の場合は削除する必要がありますか?行全体を他のファイルに出力するか、抽出した文字だけを出力しますか?詳細を説明し、入力/希望出力の例を示すために[編集]してください。 –
最小の長さの行をすべて別のファイルに移動したいと言っていますか?長さが10未満のすべての行も削除したい場合、なぜ移動するのですか? –
抽出された文字の長さが空白でない場合には、行全体を移動する必要があります。IFS = read -r行中に以下のコードを試しました。 文字を行う= -c900-903 場合を切る[-n $文字] その後、 エコー "$ライン" Fiの 済<$入力ファイル> $出力ファイル。しかし、上記のコードは動作していません、それは新しいファイルに抽出された文字を書いています.. –