PowerShell'e katılma | PowerShell'e katılmanın çeşitli yöntemlerini öğrenin
PowerShell Katılımına Giriş
join cmdlet'i birden fazla dizeyi tek bir dizede birleştirmek için kullanılır. Birleştirme işlemi sırasında birden fazla dizenin tutulma sırası, bunların cmdlet'e aktarılma sırası ile aynıdır. join cmdlet'i aynı zamanda ardışık düzen nesnelerinde bulunan metni tek bir dize değerine dönüştürmek için de kullanılır. Bu makalede PowerShell'deki join cmdlet'i, sözdizimi ve kullanımı hakkında uygun örneklerle birlikte ayrıntılı olarak açıklanacaktır.
Sözdizimi:
Birleştirme operatörünün temel sözdizimi aşağıdaki gibidir
-Join <String1[]> <String2[]> <String2[]> -Join <Delimiter>Burada dize1, dize2 ve dize3, birleştirilmesi gereken çeşitli dizeleri temsil eder. Sınırlayıcı, birleştirilen dizeler arasında bulunması gereken karakteri temsil eder. Hiçbir değer belirtilmezse PowerShell tarafından “ ” kullanılır.
Aşağıdakiler mevcut diğer söz dizimidir
Join-String [[-Property] <PSPropertyExpression>] [[-Separator] <String>] [-OutputPrefix <String>] [-OutputSuffix <String>] [-UseCulture] [-InputObject <PSObject[]>] [<CommonParameters>]Join-String [[-Property] <PSPropertyExpression>] [[-Separator] <String>] [-OutputPrefix <String>] [-OutputSuffix <String>] [-SingleQuote] [-UseCulture] [-InputObject <PSObject[]>] [<CommonParameters>]Join-String [[-Property] <PSPropertyExpression>] [[-Separator] <String>] [-OutputPrefix <String>] [-OutputSuffix <String>] [-DoubleQuote] [-UseCulture] [-InputObject <PSObject[]>] [<CommonParameters>]Join-String [[-Property] <PSPropertyExpression>] [[-Separator] <String>] [-OutputPrefix <String>] [-OutputSuffix <String>] [-FormatString <String>] [-UseCulture] [-InputObject <PSObject[]>] [<CommonParameters>]join-String cmdlet'i için, kullanıcı herhangi bir değer belirtmezse PowerShell tarafından kullanılan varsayılan ayırıcı $OFS'dir. Bir özellik adı belirtilirse bu özelliğin değeri bir dizeye dönüştürülebilir ve daha sonra bir dizeye birleştirilebilir. Özellik adı yerine bir komut dosyası bloğu da kullanılabilir. Bu yapılırsa, komut dosyası bloğunun sonucu birleştirme işleminden önce bir dizeye dönüştürülür. Bu cmdlet en sonuncusudur ve PowerShell sürüm 6.2'nin bir parçası olarak yayımlanmıştır.
Virgül, birleştirme operatörüyle birlikte bir sınırlayıcı kullandığında, birleştirme operatörüne daha yüksek öncelik verilir. Bu durumda, dizelerin parantez içine alınmasını önlemek için yalnızca ilk dize dikkate alınır.
Örnek:
Giriş:
$test = "one", "two", "three", "four","five"
-join $testÇıktı:
PS C:\WINDOWS\system32> $test = "one", "two", "three", "four","five"
-join $test
onetwothreefourfiveParametreler:
- Çift Alıntı:
Bu parametre, her ardışık düzen nesnesinin dize değerini çift tırnak içine almak için kullanılır. Bu parametrenin veri türü switch olup, varsayılan değeri false'tur. Bu parametre ardışık düzen girişini kabul etmez ve joker karakterler de kabul edilmez.
- FormatString:
Bu, öğenin format yapısını gösterir. Bu parametrenin veri türü string'dir. Hiçbiri bu parametrenin varsayılan değeri değildir. Bu parametre ardışık düzen girişini kabul etmez ve joker karakterler de kabul edilmez. Bu isteğe bağlı bir parametredir.
- GirişObjesi:
Bu, birleştirilecek giriş metinlerini belirtir. Bir değişken veya bir komut nesnesi olabilir. Bu parametrenin veri türü PSObject[]'tir. Bu parametrenin varsayılan değeri none'dur. Bu parametre ardışık düzen girişini kabul eder ancak joker karakterlere izin verilmez. Bu isteğe bağlı bir parametredir.
- OutputPrefix:
Bu sonuçtan önce eklenecek metni belirtir. Yeni satır veya sekme gibi özel karakterler içerebilir. Bu parametrenin veri türü string'dir. Diğer adı kullanılarak atıfta bulunulabilir, op. Hiçbiri bu parametrenin varsayılan değeri değildir. Bu parametre ardışık düzen girişini kabul etmez ve joker karakterler de kabul edilmez. Bu isteğe bağlı bir parametredir.
- ÇıktıSonek:
Bu sonuçtan sonra eklenecek metni belirtir. . Yeni satır veya sekme gibi özel karakterler içerebilir. Bu parametrenin veri türü string'dir. Os takma adı kullanılarak atıfta bulunulabilir. Hiçbiri bu parametrenin varsayılan değeri değildir. Bu parametre ardışık düzen girişini kabul etmez ve joker karakterler de kabul edilmez. Bu isteğe bağlı bir parametredir.
- Özellik:
Bu, boru hattı nesnesini bir dizeye dönüştürecek nesneyi belirtir. Bu parametrenin veri türü PSPropertyExpression'dır. Bu parametre sıfırıncı konuma yerleştirilir. Yok, varsayılan değeridir. Hem ardışık düzen girişi hem de joker karakterler kabul edilmez. Bu zorunlu bir parametredir.
- Ayırıcı:
Bu, ardışık düzen nesnesinden birleştirilen metinlerin arasına eklenmesi gereken karakteri belirtir. Genellikle virgül (,) veya noktalı virgül (; ) olur. Bir numaralı konuma yerleştirildi. Yok, varsayılan değeridir. Hem ardışık düzen girişi hem de joker karakterler kabul edilmez. Bu zorunlu bir parametredir.
- Tek Alıntı:
Bu parametre, ardışık düzen nesnesindeki çıktı dizesi değerini tek tırnak içine sarmak için kullanılır. Veri türü switch'tir. Yok, varsayılan değeridir. Hem ardışık düzen girişi hem de joker karakterler kabul edilmez. Bu isteğe bağlı bir parametredir.
- Kültür Kullanımı:
Bu, öğe sınırlayıcının değeri olarak mevcut kültürün ayırıcısını kullanır. Bu bilgiyi bulmak için Get-Culture).TextInfo.ListSeparator kullanılır. Bu parametrenin veri tipi switch'tir. Yok, varsayılan değeridir. Hem ardışık düzen girişi hem de joker karakterler kabul edilmez. Bu isteğe bağlı bir parametredir.
Örnek:
Write-Host "Welcome to powershell join example"
Write-Host "Demo of normal join"
$stringa="vignesh"
$stringb="Krishnakumar"
-join($stringa, $stringb)
Write-Host "Joining use a delimiter" -ForegroundColor Green
$stringa,$stringb -join " "
Write-Host "Joining using the semicolon delimiter"
$stringa,$stringb -join ";"
Write-Host "removing numbers from a string and join them using semi-colon" -ForegroundColor Green
$test="This123is67Vignesh5678Working15466From89Chennai"
Write-Host "Numbers are removed" -ForegroundColor Green
$test -split '\d+' -join ";"
Write-Host "Demo of addding a text to each string" -ForegroundColor Green
$test="Iam vig","from chennai","am a ","freelancer"
Write-Host "actual text is" $test
Write-Host "Stars are appended to the actual test" -ForegroundColor Green
$test -join "***"
Write-Host "Joining multi line strings" -ForegroundColor Green
$stringa=@"
Iam karthik
am 12 years
old
"@
$stringb=@"
Powershell is a
coll language
to learn
"@
-join ($stringa , $stringb)
Write-Host "Inserting a new new line before the join" -ForegroundColor Green
$stringa,$stringb -join "`n"Çıktı:
Çözüm
Böylece makale PowerShell'i ve çeşitli yöntemler kullanılarak nasıl elde edilebileceğini ayrıntılı olarak açıkladı. Makale ayrıca join komutuyla ilişkili çeşitli parametreleri ve bunların farklı işlevlere ulaşmak için nasıl kullanılabileceğini açıkladı. Daha ayrıntılı bilgi edinmek için örnek komut dosyaları yazmanız ve pratik yapmanız önerilir.
