sedのようなLinuxの機能を使って文字列を切り取る方法を説明できる人がいます。 例えば私が ".xmlファイル" をカットする方法文字列の一部を切り取る
THIS-some-string-zzz-55.xml
を刺しますか?
THIS-some-string-zzz-55
ありがとう:
結果は次のようにする必要があります!
sedのようなLinuxの機能を使って文字列を切り取る方法を説明できる人がいます。 例えば私が ".xmlファイル" をカットする方法文字列の一部を切り取る
THIS-some-string-zzz-55.xml
を刺しますか?
THIS-some-string-zzz-55
ありがとう:
結果は次のようにする必要があります!
これは動作するはずです:
echo "THIS-some-string-zzz-55.xml" | sed 's/\.xml$//'
いくつかの方法を:あなたはシェルスクリプトから呼び出すか、C言語やスクリプト言語からそれをexecしことができるように
basename thisfile.xml .xml
ベース名は、それは自身の実行可能ファイルのあります。
あなたのシェルがある場合はbash:と最後に
FILE=filename.xml
echo “filename: ${file%.*}”
echo “extension: ${file##*.}”
..and sedの
echo "filename.xml" | sed 's/\.xml$//'
のsedの正規expressinで '$' を.xmlの試合を行うことを文字列の終わりにのみ。
Grep
時間
$> echo THIS-some-string-zzz-55.xml | grep -o -P "(.*)(?=\.xml)"
THIS-some-string-zzz-55
Grepの魔法-Pフラグを持って
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression. This is highly
experimental and grep -P may warn of unimplemented features.
ところで、ここであなたは私がここで使っていることを肯定先読み(?=*)
を、見つけることができる便利なtable、です。
BashはLinuxの機能としてカウントされますか?
もしそうなら、これはあなたのために働くかもしれない:
# string="THIS-some-string-zzz-55.xml"
# echo ${string%.xml}
THIS-some-string-zzz-55
またはこの場合は:
# echo ${string%.*}
THIS-some-string-zzz-55
は、説明のためにhereを参照してください。
-1説明なし回答掲示板 –