出力ファイル(合計25行)から最初の5文字をコピーし、その出力をファイルにコピーする必要があります。出力から空白または空の項目を削除するのも良いかもしれません。
答え1
head
ここで役に立ちます。
-c, --bytes=[-]K
print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file
答え2
cut -c5
入力から各行の最初の5文字を切り捨てます。行数を25に制限するには、次のようにしますhead -n25
。
cut -c5 file | head -n25
答え3
次のsed
コマンドを使用できます。
sed \
-e 's/\(^\w\{5\}\).*/\1/' \
-e '26,$d' \
-e '/^$/d' \
input_file > output_file
最初の部分は行の先頭の5文字と一致して印刷され、残りは削除されます。 2番目の部分は最初の25行だけを印刷します。最後の部分は空行を削除します。
答え4
cat inputfile | head -c 5 > outputfile
これにより、出力がファイルにリダイレクトされます。
スペースを削除するには、ファイルの内容をフィルタリングします。つまり、最初の5文字を抽出する前にスペースを削除します。
cat inputfile | tr -d ' ' | head -c 5 > outputfile
次の形式を使用してtr
同じ効果を得ることもできます。
cat inputfile | tr -d [:space:] | head -c 5 > outputfile
tr -d [:space:]
このコマンドでパイプされたテキストからすべてのスペースを削除します。
ファイルの最初の5文字だけを切り捨てるには、上記の回避策に従ってください。
これで、ファイル内のすべての行に対してこれを行うには、次の手順に従います。
cat inputfile | sed -e 's/ //g' | awk '{print substr($0,0,5)}' > outputfile
または
sed -e 's/ //g' < inputfile | awk '{print substr($0,0,5)}' > outputfile
説明:sed -e 's/ //g'
すべてのスペースを削除し、awk '{print substr($0,0,5)}'
各行の最初の5文字を印刷します。