最初の5文字

最初の5文字

出力ファイル(合計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文字を​​印刷します。

関連情報