現在、ファイルを取得するために別のサーバーを使用するようにシステムを変更しています (何かを追跡するために生成されたファイルであり、重要ではありません)。このシステムは Java に基づいており、これらのファイルを取得するためのコードは Linux コマンドを使用しています。これらのファイルを取得するためのコードは次のとおりです。
session = connection.openSession();
session.execCommand("ls -B -A " + filelocation);
output = new BufferedReader(new InputStreamReader(new StreamGobbler(session.getStdout()), "UTF-8"));
ただし、これは元のサーバー (x86_64 GNU/Linux) では機能しましたが、「新しい」サーバー (SunOs 5.10 Generic January) では機能しません。SunOS サーバーでこのコマンドを実行すると、次のようになります。
ls: illegal option -- B
usage: ls -1RaAdCxmnlhogrtuvVcpFbqisfHLeE@ [files]
私はコマンドラインに精通しておらず、元のコードを書いていません。しかし、これは私が考え出したものです
-A, --almost-all Do not list implied . and ..
-B, --ignore-backups Do not list implied entries ending with ~
これを SunOS サーバーで動作させるオプションの方法はありますか?
編集
line.endsWith("~"); の場合、読み取った各文字列を確認します。
while ((outputString = output.readLine()) != null) {
if(!outputString.endsWith("~")){
fileList.add(outputString);
}
}