1 use std::error::Error; 2 use std::io::{self, Write}; 3 4 use bstr::{io::BufReadExt, ByteSlice}; 5 main() -> Result<(), Box<dyn Error>>6fn main() -> Result<(), Box<dyn Error>> { 7 let stdin = io::stdin(); 8 let mut stdout = io::BufWriter::new(io::stdout()); 9 10 stdin.lock().for_byte_line_with_terminator(|line| { 11 let end = line 12 .grapheme_indices() 13 .map(|(_, end, _)| end) 14 .take(10) 15 .last() 16 .unwrap_or(line.len()); 17 stdout.write_all(line[..end].trim_end())?; 18 stdout.write_all(b"\n")?; 19 Ok(true) 20 })?; 21 Ok(()) 22 } 23