GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Holen Sie sich die ersten 5 Zeichen aus jeder Zeile im Shell-Skript

Wenn Sie cut verwenden möchten Auf diese Weise müssen Sie die Umleitung <<< verwenden (ein Here-String) wie:

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

Beachten Sie die Verwendung von var=$(command) Ausdruck anstelle von id= cut -c-5 $line . So speichern Sie den Befehl in einer Variablen.

Verwenden Sie außerdem /bin/bash statt /bin/sh damit es funktioniert.

Vollständiger Code, der für mich funktioniert:

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

Nun, es ist ein Einzeiler cut -c-5 sample.txt . Beispiel:

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

Von da an können Sie es an jedes andere Skript oder jeden Befehl weiterleiten:

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

Linux
  1. Wie erhalte ich die externe IP-Adresse in einem Shell-Skript?

  2. Wie erhalte ich die eigene IP-Adresse und speichere sie in einer Variablen in einem Shell-Skript?

  3. Wie teilt man eine Datei und behält die erste Zeile in jedem der Teile bei?

  4. Auslassen der ersten Zeile in jeder Linux-Befehlsausgabe

  5. So erhalten Sie die ersten n Zeichen jeder Zeile in einer Unix-Datendatei

Löschen Sie die ersten fünf Zeichen in einer beliebigen Zeile einer Textdatei unter Linux mit sed

Wie installiere ich ein Skript, das überall von der Befehlszeile aus ausgeführt werden kann?

Holen Sie sich die letzten 4 Zeichen der Ausgabe von Standardausgabe

Ruft die erste Zeile der Ausgabe eines Shell-Befehls ab

Führen Sie ein Shell-Skript über den Befehl docker-compose im Container aus

Wie erhalte ich die URL der Dropbox-Datei von der Befehlszeile?