ファイルがあるとしましょう。test.java
このように始まりました。各ライン
/* */ package com.a;
/* */ import java.util.List
/* */ etc
各行の最初の10文字を削除したいそしてスペースに置き換えそのため、コマンドを実行した後、ファイルは次のようになります。
package com.a;
import java.util.List
etc
それじゃない:
package com.a;
import java.util.List
etc
ありがとう
対処すべき正しいコマンドを探しています。すべて .java
ファイルは下のすべてのサブディレクトリにあります。
答え1
確信したら最初の10文字- 以下を使用してくださいfind
+sed
解決策:
find . -type f -name "*.java" -exec sed -i 's/.\{10\}//' {} \;
find . -type f -name "*.java"
- 再帰的にすべての*.java
ファイルを検索sed -i 's/.\{10\}//'
- 見つかった各ファイルから各行の最初の10文字を削除します(-i
オプションでファイルを変更できます)所定の位置に)このソリューションはGNUで動作します
sed
。 BSDの場合は必須パラメータがあるため、sed
必須です。他のバージョンではその機能がまったくないため、出力を別のファイルに保存してから、そのファイルを元の名前で保存する必要があります。-i ''
-i
sed
-i
mv
答え2
この試み:
sed -i -r 's/.{10}//' *.java