最初と最後の位置を使用して行から部分文字列を抽出する必要があります。grepで簡単にできると思いますが、まだ方法がわかりません。
例、n 文字の行、その行の k 位置から l 位置で終わる部分文字列を抽出したい。
明らかに l で、k < n および l > k
最初と最後の位置を使用して行から部分文字列を抽出する必要があります。grepで簡単にできると思いますが、まだ方法がわかりません。
例、n 文字の行、その行の k 位置から l 位置で終わる部分文字列を抽出したい。
明らかに l で、k < n および l > k
awkを使用しないのはなぜですか?
echo "12345678" | awk '{print substr($0, 3, 2);}'
# prints '34'
bash を使用している場合は、次のようにできます。
LINE="strings"
K=3 ## 4th character starting from index 0
L=5 ## 6th character starting from index 0
echo "${LINE:K:L - K + 1}"
ファイルのループ:
while -r read LINE; do echo "${LINE:K - 1:L - K}"; done < file
awk ベースについては、L は長さではなく位置を意味し、0 は開始インデックスです。
awk -v k="3" -v l="5" '{ n = length; print substr($0, k, l - k + 1);}' < file
これはあなたが探しているものですか?
String test = "ateststring";
String testa = test.substring(0,4);
String test2 = testa.substring(0,3);
int testc = test.indexOf("test");
String test3 = test.substring(testc,5);
System.out.println(test + ":" + testa + ":" + test2 + ":" +test3);