Unterschied zwischen der Nummer in der gleichen Spalte mit AWK

8

Ich habe eine Datei mit einer Spalte mit der Nummer:

%Vor%

Ich möchte den Unterschied zwischen jeder Zahl mit awk berechnen. Die Ausgabe sollte wie folgt aussehen:

%Vor%

Wie kann ich es tun?

    
user655561 04.07.2013, 19:13
quelle

4 Antworten

12

Probieren Sie den folgenden Code:

%Vor%

Erklärungen

  • NR ist die Ordnungszahl des aktuellen Datensatzes vom Anfang der Eingabe. Innerhalb einer BEGIN-Aktion muss der Wert Null sein. Innerhalb einer END-Aktion soll der Wert die Nummer des letzten verarbeiteten Datensatzes sein.
  • Die next Anweisung bewirkt, dass die weitere Verarbeitung des aktuellen Eingabedatensatzes abgebrochen wird. Das Verhalten ist nicht definiert, wenn eine nächste Anweisung in BEGIN oder END angezeigt wird oder aufgerufen wird     Aktion.
Gilles Quenot 04.07.2013, 19:20
quelle
11

Nur um es kürzer zu machen ...

%Vor%     
Teftin 04.07.2013 19:33
quelle
4

Falls awk keine strenge Anforderung ist, eine Shell-Lösung:

%Vor%

DRYer

%Vor%     
glenn jackman 04.07.2013 20:15
quelle
3

Code für GNU

%Vor%     
captcha 04.07.2013 19:25
quelle

Tags und Links

Django: Verwenden von Annotate, Count und Distinct in einem Queryset ___ answer17490022 ___

ersetzen

%Vor%

mit

%Vor%

Das Fragezeichen markiert es als Nullwert, und Ihr Leser sollte in der Lage sein, startdate auf null zu setzen, anstatt eine Ausnahme auszulösen.

Sie können auch nach NULL-Werten suchen, während Ihr Leser arbeitet und NULL-Werte durch leere Zeichenfolgen ersetzen

%Vor%     
___ answer17490905 ___

Hier ist eine Hilfsmethode, um den Wert aus dem Leser herauszuholen

%Vor%

Update zur Verwendung als Antwort auf einen Kommentar

%Vor%

Beachten Sie auch, dass Sie %code% und dann %code% verwenden. Wahrscheinlich sollte %code%

sein     
___ qstntxt ___

Ich hasse es fast, diese Frage zu stellen, es scheint, als ob sie schon millionenfach gestellt worden wäre, aber selbst wenn ich die andere Frage recherchiere, kann ich das in meinem Fall immer noch nicht herausfinden.

Ich habe gelesen, dass DateTime ein NULL-fähiger Typ ist, und ich habe ein paar der Beispiele ausprobiert, aber ich versuche herauszufinden, ob in der Datenbank mein SQLDATAREADER fehlerhaft ist.

Fehler

  

System.Data.SqlTypes.SqlNullValueException: Daten sind Null. Diese Methode oder Eigenschaft kann nicht für Nullwerte aufgerufen werden.

DetailsKlasse

%Vor%

DBClass

%Vor%     
___ tag123aspnet ___ ASP.NET ist ein Framework für die Entwicklung von Microsoft-Webanwendungen, mit dem Programmierer dynamische Websites, Webanwendungen und Webdienste erstellen können. Es ist nützlich, dieses Tag in Verbindung mit dem Typ des Projekttyps zu verwenden, z. [asp.net-mvc], [asp.net-webforms] oder [asp.net-web-api]. Verwenden Sie dieses Tag NICHT für Fragen zu ASP.NET Core - verwenden Sie stattdessen [asp.net-core]. ___ answer17490475 ___

Versuchen Sie Folgendes:

Mache die %code% Variable %code% , wie folgt:

%Vor%

Wenn Sie nun den Wert vom Objekt %code% abrufen, müssen Sie die Methode %code% verwenden, die bestimmt, ob der Wert %code% von der Datenbank zurückkommt, wie folgt:

%Vor%

Hinweis: Ich bin mir nicht sicher, wo Sie %code% dem aus der Datenbank gelesenen Wert zuweisen, da dieser im gebuchten Code nicht angezeigt wird. Deshalb habe ich es in meinem Beispiel direkt zugewiesen, aber möglicherweise müssen Sie die Platzierung der Beispiellogik anpassen.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ answer17491034 ___

Können Sie uns bitte genau sagen, welche Zeile den Fehler beim Debuggen auslöst? Es wäre einfacher.

%Vor%

Es ist nicht erforderlich, NULL explizit zuzuweisen, wenn es DBNull ist, da es ein NULL-fähiger Typ ist und daher standardmäßig null enthält.

Ok, gemäß Ihrem aktualisierten Code (beachten Sie die Kommentare):

%Vor%

Lasst uns es ausführlicher versuchen:

%Vor%     
___