GNU/Linux >> Linux の 問題 >  >> Linux

シェル スクリプトの各行から最初の 5 文字を取得する

cut を使用する場合 このように、リダイレクト <<< を使用する必要があります (ヒア文字列) like:

var=$(cut -c-5 <<< "$line")

var=$(command) の使用に注意してください id= cut -c-5 $line の代わりの式 .これは、コマンドを変数に保存する方法です。

また、 /bin/bash を使用してください /bin/sh の代わりに

私に働いている完全なコード:

#!/bin/bash

filename='sample.txt'
while read -r line
do
  id=$(cut -c-5 <<< "$line")
  echo $id
  #code for passing id to other script file as parameter
done < "$filename"

まあ、そのワンライナー cut -c-5 sample.txt .例:

$ cut -c-5 sample.txt 
31113
31114
31111
31112

そこから、他のスクリプトまたはコマンドにパイプできます:

$ cut -c-5 sample.txt | while read line; do echo Hello $line; done
Hello 31113
Hello 31114
Hello 31111
Hello 31112

Linux
  1. 独自のIPアドレスを取得し、シェルスクリプトの変数に保存する方法は?

  2. シェルスクリプト内から passwd コマンドを使用する

  3. sed を使用して Linux でテキスト ファイルの任意の行の最初の 5 文字を削除する

  1. コマンド ラインから任意の場所で実行するスクリプトをインストールするにはどうすればよいですか?

  2. シェルスクリプトだけを使用してテキストファイルから特定の行を取得する

  3. コマンドラインから Dropbox ファイルの URL を取得するには?

  1. シェルスクリプトで外部IPアドレスを取得する方法は?

  2. シェルで制御文字(^ c、^ d、^ [、…)を異なる方法で表示する方法は?

  3. コマンドラインから IP アドレスを取得するにはどうすればよいですか?