GNU/Linux >> Belajar Linux >  >> Linux

dapatkan 5 karakter pertama dari setiap baris dalam skrip Shell

Jika Anda ingin menggunakan cut dengan cara ini, Anda perlu menggunakan pengalihan <<< (string di sini) seperti:

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

Perhatikan penggunaan var=$(command) ekspresi bukan id= cut -c-5 $line . Ini adalah cara untuk menyimpan perintah ke dalam variabel.

Juga, gunakan /bin/bash bukannya /bin/sh untuk membuatnya berfungsi.

Kode lengkap yang berfungsi untuk saya:

#!/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"

Ya, ini adalah cut -c-5 sample.txt satu baris . Contoh:

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

Dari sana, Anda dapat menyalurkannya ke skrip atau perintah lain:

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

Linux
  1. Bagaimana Cara Mendapatkan Alamat Ip Eksternal Dalam Script Shell?

  2. Bagaimana Cara Menampilkan Karakter Kontrol (^c, ^d, ^[, ...) Secara Berbeda Di Shell?

  3. Menghitung Karakter Setiap Baris Dengan Wc?

  1. Tidak Dapat Mendapatkan Kode Keluar yang Tepat Dari Script?

  2. Menggunakan perintah passwd dari dalam skrip shell

  3. Hapus lima karakter pertama pada baris mana pun dari file teks di Linux dengan sed

  1. Bagaimana cara menginstal skrip untuk dijalankan di mana saja dari baris perintah?

  2. Dapatkan 4 karakter keluaran terakhir dari keluaran standar

  3. Bagaimana cara mendapatkan URL file Dropbox dari baris perintah?