言語処理100本ノック 第2章: UNIXコマンドの基礎 10,11
10. 行数のカウント
行数をカウントせよ.確認にはwcコマンドを用いよ.
java
@Slf4j public class App { public static void main(String[] args) { try { Path path = Paths.get(String.valueOf(args[0])); if (Files.isReadable(path)) { List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8); log.info("lines: {}", lines.size()); } } catch (Exception e) { e.printStackTrace(); } } }
11. タブをスペースに置換
タブ1文字につきスペース1文字に置換せよ.確認にはsedコマンド,trコマンド,もしくはexpandコマンドを用いよ.
java
@Slf4j public class App { public static void main(String[] args) { if (args.length > 0) { try { Path path = Paths.get(String.valueOf(args[0])); if (Files.isReadable(path)) { List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8); log.info("lines: {}", lines.size()); List<String> lines2 = new ArrayList<>(); lines.forEach(l -> lines2.add(l.replace("\t", " "))); System.out.println(String.join("\n", lines2)); } } catch (Exception e) { e.printStackTrace(); } } } }