나는 그렇게 문자열으로.
|abcdefg|
And I want to get a 라는 새로운 문자열이어야 어떻게든지해서 (string2 등) 를 시작할 때 원래 문자열을 두 말 없이 '' 문자를 있도록 내아기마저도 것입니다.
abcdefg
가능하지 bash?
할 수 있습니다.
string="|abcdefg|"
string2=${string#"|"}
string2=${string2%"|"}
echo $string2
네, 할 수 있는 경우 또는 문자열 길이를 상수입니다.
string="|abcdefg|"
string2=${string:1:7}
echo $string2
또한 이 노력해야 합니다
echo "|abcdefg|" | cut -d "|" -f 2
또한 이
echo "|abcdefg|" | sed 's/^|\(.*\)|$/\1/'
여기에 나열된 do it 은 가장 간단한 방법은 몇 게시물 오프하도록 가는 듯하다.
string="|abcdefg|"
echo ${string:1:-1}
편집: 배시 (bash 4.2 로 unbuntu 작동합니다. centos 작동하지 않는 함께 bash 4.1
그리고 또 하나.
string="|abcdefg|"
echo "${string//|/}"
Sed 분리하십시오 심볼 자체가 아니라 사용할 수도 있습니다 위치 참조입니다 사용하지만 같이 참조.
$ echo "|abcdefg|" | sed 's:^.\(.*\).$:\1:'
abcdefg
여기서 & # 39 :& # 39;; 오른길로 구분 (rec.601 대체할 수 있는 그들 / 또는 있지 않은 모든 문자 질의 (query), 스레딩이 예증으로 다음 s will do it) 맨 앞에 frequencyid ^ (캐릿) 는 입력 문자열 및 $ (달러) 는 말. 이. 그 후 it& # 39 (점), s, s # 39 캐릿 및 방정식입니다 it& 전에 달러 기호 제이보드 단일 문자. 그래서 우리는 삭제에서 즉 첫 번째 및 마지막 문자를 사용할 수 있습니다. 이렇게 하면 모든 문자를 삭제하시겠습니까 it& # 39 의 경우에도 시행하십시오 염두에 두고 있는 것은 구체화하십시오.
예:
$ echo "abcdefg" | sed 's:^.\(.*\).$:\1:'
bcdef
좀 더 자세히 외곽진입 있지만, 어떤 종류의 문자 # 39 의 처음이자 마지막, t 는 doesn& 같아야 한다. 이 문자 등의 기본적인 아이디어는 우리가 변수를 판독값 의해 구멍만이 추가 캐릭터, 새로운 변수가 싶다.
crop_string_ends() {
STR="$1"
NEWSTR=""
COUNT=0
while read -n 1 CHAR
do
COUNT=$(($COUNT+1))
if [ $COUNT -eq 1 ] || [ $COUNT -eq ${#STR} ]
then
continue
fi
NEWSTR="$NEWSTR"$CHAR
done <<<"$STR"
echo $NEWSTR
}
Avamar 에로남이네 동일한 기능을 사용 사례:
$> crop_string_ends "|abcdefg|"
abcdefg
$> crop_string_ends "HelloWorld"
elloWorl
>>> mystring="|abcdefg|"
>>> print(mystring[1:-1])
abcdefg
또는 명령줄의:
$ python -c 'import sys;print sys.stdin.read()[1:-2]' <<< "|abcdefg|"
abcdefg
$ echo "|abcdefg|" | awk '{print substr($0,2,length($0)-2)}'
abcdefg
$ ruby -ne 'print $_.split("|")[1]' <<< "|abcdefg|"
abcdefg
"' = $ 문자열이어야 " 압스데프트 ";
echo $ $ string" "; 압스데프트 "'
Http://tldp.org/LDP/abs/html/parameter-substitution.html 에서
>. var # $ {} '패턴' >. '의' $ $ var "에서 제거하시겠습니까 최단 프런트엔드를 일치하는 부분이 패턴 '의' '$ var. >. 'var%%Pattern $ {}' >. 가장 긴 부분을 '$ $ var "에서 제거하시겠습니까' 의 최종 패턴 '을' 의 '일치시킵니다 뒤로를 $ var.