Wie können Sie etwas Ähnliches wie diesen D- und Java-Code in Rust machen?So lesen, filtern und ändern Sie Zeilen aus einer Datei
Java:
import java.nio.file.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException
{
Files.lines(Paths.get("/home/kozak/test.txt"))
.filter(s -> s.endsWith("/bin/bash"))
.map(s -> s.split(":", 2)[0])
.forEach(System.out::println);
}
}
D Sprache:
import std.algorithm;
import std.stdio;
void main() {
File("/home/kozak/test.txt")
.byLine
.filter!((s)=>s.endsWith("/bin/bash"))
.map!((s)=>s.splitter(":").front)
.each!writeln;
}
Ich versuche es, aber ich bin mit all diesen Besitz Sachen verloren
mein Rost Code:
use std::io::BufReader;
use std::fs::File;
use std::io::BufRead;
use std::io::Lines;
fn main() {
let file = match File::open("/etc/passwd") {
Ok(file) => file,
Err(..) => panic!("room"),
};
let mut reader = BufReader::new(&file);
for line in reader.lines().filter_map(
|x| if match x { Ok(v) => v.rmatches("/bin/bash").count() > 0, Err(e) => false}
{ match x { Ok(v2) => Some(v2.split(":").next()), Err(e2) => None }} else
{ None })
{
print!("{}", line.unwrap());
}
}
Und was haben Sie bisher getan? Sie sollten genug Erfahrung haben, um zu verstehen, dass SO keine Seite ist, auf der Sie Ihre Arbeit "Bitte machen Sie das für mich" einfach an andere Leute ablegen. – GhostCat
meine Schuld, ich klicke Post zu früh und nicht erkennen, es fehlt mein Versuch – Kozzi11