{"id":26191,"date":"2025-07-21T09:45:22","date_gmt":"2025-07-21T06:45:22","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/"},"modified":"2025-07-21T09:45:22","modified_gmt":"2025-07-21T06:45:22","slug":"bash-dosyadan-rastgele-satir-secme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/","title":{"rendered":"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me"},"content":{"rendered":"<p># Bash ile Dosyadan Rastgele Sat\u0131r Se\u00e7mek: Tam Bir Rehber<\/p>\n<p>Bir b\u00fcy\u00fck veri setinden rastgele \u00f6rnekler se\u00e7meniz mi gerekiyor? Bir \u015fiir kitab\u0131ndan rastgele bir \u015fiir mi g\u00f6stermek istiyorsunuz?  Ya da bir log dosyas\u0131ndan rastgele hata kay\u0131tlar\u0131n\u0131 m\u0131 incelemek istiyorsunuz?  Bash komut sat\u0131r\u0131 aray\u00fcz\u00fc, bu gibi durumlarda dosyadan rastgele sat\u0131r se\u00e7menize olanak sa\u011flayan g\u00fc\u00e7l\u00fc ara\u00e7lar sunar. Bu makalede, Bash kullanarak dosyadan rastgele sat\u0131r se\u00e7me i\u015flemini yeni ba\u015flayanlardan ileri seviye kullan\u0131c\u0131lara kadar ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.  Farkl\u0131 y\u00f6ntemleri kar\u015f\u0131la\u015ft\u0131rarak performans optimizasyonuna da de\u011finece\u011fiz.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu rehber, Bash ile rastgele sat\u0131r se\u00e7me konusunda farkl\u0131 seviyelerdeki kullan\u0131c\u0131lar i\u00e7in tasarlanm\u0131\u015ft\u0131r.  \u00d6\u011frenme yol haritan\u0131z \u015f\u00f6yle:<\/p>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> <code class=\"language-\">shuf<\/code> komutu ile temel kullan\u0131m. Basit kod \u00f6rnekleri ve ad\u0131m ad\u0131m a\u00e7\u0131klamalar.<br \/>\n* <strong>Orta Seviye:<\/strong> Ger\u00e7ek hayat senaryolar\u0131, b\u00fcy\u00fck dosyalar i\u00e7in optimizasyon ipu\u00e7lar\u0131 ve daha geli\u015fmi\u015f <code class=\"language-\">awk<\/code> kullan\u0131m\u0131.<br \/>\n* <strong>\u0130leri Seviye:<\/strong> Performans analizi, edge case&#8217;ler (k\u00f6\u015fe durumlar\u0131) ve farkl\u0131 y\u00f6ntemlerin kar\u015f\u0131la\u015ft\u0131rmas\u0131.<\/p>\n<p><strong>Bash&#8217;te Temel Kavramlar: <code class=\"language-\">shuf<\/code> ve <code class=\"language-\">head<\/code> Komutlar\u0131<\/strong><\/p>\n<p>Bash, dosya manip\u00fclasyonu i\u00e7in bir\u00e7ok g\u00fc\u00e7l\u00fc komut sunar.  Rastgele sat\u0131r se\u00e7me i\u015flemi i\u00e7in en yayg\u0131n kullan\u0131lan komutlardan ikisi <code class=\"language-\">shuf<\/code> ve <code class=\"language-\">head<\/code>&#8216;dir. <code class=\"language-\">shuf<\/code> komutu, dosyan\u0131n sat\u0131rlar\u0131n\u0131 rastgele kar\u0131\u015ft\u0131r\u0131r. <code class=\"language-\">head<\/code> komutu ise dosyan\u0131n ba\u015f\u0131ndan belirli say\u0131da sat\u0131r\u0131 al\u0131r.  Bu iki komutu birle\u015ftirerek dosyadan istedi\u011fimiz say\u0131da rastgele sat\u0131r se\u00e7ebiliriz.<\/p>\n<p>\u00d6rne\u011fin, <code class=\"language-\">\u015fiirler.txt<\/code> adl\u0131 bir dosyam\u0131z oldu\u011funu ve bu dosyadan 3 rastgele sat\u0131r se\u00e7mek istedi\u011fimizi varsayal\u0131m.  Bu i\u015flemi a\u015fa\u011f\u0131daki komutla ger\u00e7ekle\u015ftirebiliriz:<\/p>\n<pre class=\"language-bash\"><code>shuf \u015fiirler.txt | head -n 3<\/code><\/pre>\n<p>Bu komut \u00f6nce <code class=\"language-\">shuf<\/code> ile <code class=\"language-\">\u015fiirler.txt<\/code> dosyas\u0131ndaki sat\u0131rlar\u0131 rastgele kar\u0131\u015ft\u0131r\u0131r, ard\u0131ndan <code class=\"language-\">head -n 3<\/code> komutu kar\u0131\u015ft\u0131r\u0131lm\u0131\u015f sat\u0131rlardan ilk 3 sat\u0131r\u0131 al\u0131r ve ekrana yazd\u0131r\u0131r.<\/p>\n<p><strong>Nas\u0131l 10 Rastgele Sat\u0131r Se\u00e7ebilirim? Uygulamal\u0131 Bir K\u0131lavuz<\/strong><\/p>\n<p>\u015eimdi, daha b\u00fcy\u00fck bir dosyadan (\u00f6rne\u011fin, 1000 sat\u0131rl\u0131k bir log dosyas\u0131) 10 rastgele sat\u0131r se\u00e7meyi ele alal\u0131m.  <code class=\"language-\">log.txt<\/code> adl\u0131 bir dosyam\u0131z oldu\u011funu varsayal\u0131m.  A\u015fa\u011f\u0131daki komutu kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>shuf log.txt | head -n 10<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">log.txt<\/code> dosyas\u0131ndaki t\u00fcm sat\u0131rlar\u0131 rastgele kar\u0131\u015ft\u0131r\u0131r ve ilk 10 sat\u0131r\u0131 ekrana yazd\u0131r\u0131r.  Bu, dosyadan 10 rastgele sat\u0131r se\u00e7menin en basit ve h\u0131zl\u0131 yoludur.<\/p>\n<p><strong>B\u00fcy\u00fck Dosyalar \u0130\u00e7in Optimizasyon \u0130pu\u00e7lar\u0131: <code class=\"language-\">awk<\/code> ile Performans Art\u0131r\u0131m\u0131<\/strong><\/p>\n<p><code class=\"language-\">shuf<\/code> komutu, \u00f6zellikle b\u00fcy\u00fck dosyalar i\u00e7in olduk\u00e7a bellek yo\u011fun olabilir.  T\u00fcm dosyay\u0131 belle\u011fe y\u00fcklemesi gerekir, bu da b\u00fcy\u00fck dosyalar i\u00e7in performans sorunlar\u0131na yol a\u00e7abilir.  Bu sorunu \u00e7\u00f6zmek i\u00e7in <code class=\"language-\">awk<\/code> komutunu kullanabiliriz. <code class=\"language-\">awk<\/code> daha ak\u0131ll\u0131 bir yakla\u015f\u0131mla, dosyay\u0131 sat\u0131r sat\u0131r okuyarak rastgele \u00f6rneklem olu\u015fturur.<\/p>\n<p>\u00d6rne\u011fin, 1 milyon sat\u0131rl\u0131k bir dosyadan 100 rastgele sat\u0131r se\u00e7mek i\u00e7in a\u015fa\u011f\u0131daki <code class=\"language-\">awk<\/code> komutunu kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>awk -v seed=$(date +%s) 'BEGIN{srand(seed)} {if (rand() &lt; 0.0001) print}' b\u00fcy\u00fck_dosya.txt<\/code><\/pre>\n<p>Bu komutta <code class=\"language-\">srand()<\/code> fonksiyonu, rastgele say\u0131 \u00fcretecinin ba\u015flang\u0131\u00e7 de\u011ferini <code class=\"language-\">date +%s<\/code> komutu ile elde edilen zaman damgas\u0131 ile ayarlar. Bu, her \u00e7al\u0131\u015ft\u0131rmada farkl\u0131 bir rastgele \u00f6rneklem elde edilmesini sa\u011flar.  <code class=\"language-\">rand() < 0.0001<\/code> ko\u015fulu, her sat\u0131r\u0131 yakla\u015f\u0131k %0.01 olas\u0131l\u0131kla se\u00e7er, bu da yakla\u015f\u0131k 100 sat\u0131r\u0131n se\u00e7ilmesini sa\u011flar.  Bu y\u00f6ntem, t\u00fcm dosyay\u0131 belle\u011fe y\u00fcklemedi\u011fi i\u00e7in daha b\u00fcy\u00fck dosyalar i\u00e7in daha verimlidir.  Daha fazla kontrol i\u00e7in <code class=\"language-\">awk<\/code>'\u0131n daha geli\u015fmi\u015f \u00f6zelliklerini kullanarak se\u00e7ilecek sat\u0131r say\u0131s\u0131n\u0131 daha hassas bir \u015fekilde kontrol edebilirsiniz.  \u00d6rne\u011fin, belirli bir sat\u0131r aral\u0131\u011f\u0131n\u0131 se\u00e7mek i\u00e7in <code class=\"language-\">awk<\/code>'\u0131n <code class=\"language-\">NR<\/code> (sat\u0131r numaras\u0131) de\u011fi\u015fkenini kullanabilirsiniz.<\/p>\n<p><strong>Ger\u00e7ek Hayattan \u00d6rnekler: Log Dosyas\u0131 Analizi ve A\/B Testi<\/strong><\/p>\n<p><strong>Log Dosyas\u0131 Analizi:<\/strong> Bir web sunucusunun log dosyas\u0131ndan rastgele hata kay\u0131tlar\u0131n\u0131 incelemek istedi\u011fimizi varsayal\u0131m.  B\u00fcy\u00fck bir log dosyas\u0131nda hata kay\u0131tlar\u0131n\u0131 manuel olarak aramak zaman al\u0131c\u0131 ve zahmetli olabilir.  <code class=\"language-\">awk<\/code> kullanarak log dosyas\u0131ndan rastgele hata kay\u0131tlar\u0131n\u0131 se\u00e7ebilir ve bunlar\u0131 detayl\u0131 bir \u015fekilde inceleyebiliriz.  \u00d6rne\u011fin, hata mesaj\u0131 i\u00e7eren sat\u0131rlar\u0131 se\u00e7mek i\u00e7in bir regular expression kullanabiliriz.<\/p>\n<p><strong>A\/B Testi:<\/strong>  Bir web sitesi i\u00e7in iki farkl\u0131 tasar\u0131m (A ve B) test ediyorsunuz ve rastgele kullan\u0131c\u0131lara bu tasar\u0131mlardan birini g\u00f6steriyorsunuz.  Kullan\u0131c\u0131 verilerini i\u00e7eren bir dosyadan rastgele bir \u00f6rneklem se\u00e7erek, her tasar\u0131m\u0131n performans\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rabilirsiniz.<\/p>\n<p><strong>\u0130leri Seviye Teknikler: Performans Analizi ve K\u00f6\u015fe Durumlar\u0131<\/strong><\/p>\n<p>Farkl\u0131 y\u00f6ntemlerin performans\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rmak i\u00e7in <code class=\"language-\">time<\/code> komutunu kullanabiliriz. \u00d6rne\u011fin, <code class=\"language-\">shuf<\/code> ve <code class=\"language-\">awk<\/code> y\u00f6ntemlerinin performans\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131ral\u0131m:<\/p>\n<pre class=\"language-bash\"><code>time shuf b\u00fcy\u00fck_dosya.txt | head -n 100 &gt; \/dev\/null\ntime awk -v seed=$(date +%s) 'BEGIN{srand(seed)} {if (rand() &lt; 0.0001) print}' b\u00fcy\u00fck_dosya.txt &gt; \/dev\/null<\/code><\/pre>\n<p><code class=\"language-\">\/dev\/null<\/code> y\u00f6nlendirmesi, \u00e7\u0131kt\u0131lar\u0131n ekrana yazd\u0131r\u0131lmas\u0131n\u0131 engeller ve sadece i\u015flem s\u00fcresini \u00f6l\u00e7er.  Bu test, dosya boyutuna ve se\u00e7ilecek sat\u0131r say\u0131s\u0131na ba\u011fl\u0131 olarak farkl\u0131 sonu\u00e7lar verecektir.<\/p>\n<p><strong>K\u00f6\u015fe durumlar\u0131:<\/strong>  Bo\u015f bir dosya, \u00e7ok b\u00fcy\u00fck bir dosya veya sadece birka\u00e7 sat\u0131rl\u0131k bir dosya gibi durumlar\u0131 ele almal\u0131y\u0131z.  Bu durumlar i\u00e7in \u00f6zel durum kontrolleri eklemek, kodunuzun daha sa\u011flam olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bash, dosyadan rastgele sat\u0131r se\u00e7mek i\u00e7in g\u00fc\u00e7l\u00fc ve esnek ara\u00e7lar sunar.  <code class=\"language-\">shuf<\/code> ve <code class=\"language-\">head<\/code> komutlar\u0131 basit kullan\u0131m i\u00e7in idealdir, ancak b\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">awk<\/code> daha verimli bir \u00e7\u00f6z\u00fcm sunar.  Bu makalede ele ald\u0131\u011f\u0131m\u0131z y\u00f6ntemler ve optimizasyon ipu\u00e7lar\u0131 ile, farkl\u0131 boyutlardaki dosyalardan verimli bir \u015fekilde rastgele \u00f6rnekler se\u00e7ebilirsiniz.  Unutmay\u0131n ki, performans b\u00fcy\u00fck \u00f6l\u00e7\u00fcde dosya boyutuna ve se\u00e7ilecek sat\u0131r say\u0131s\u0131na ba\u011fl\u0131d\u0131r.  En uygun y\u00f6ntemi se\u00e7mek i\u00e7in farkl\u0131 y\u00f6ntemleri test etmek ve performanslar\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rmak \u00f6nemlidir.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>Rastgelelik nas\u0131l sa\u011flan\u0131r?<\/strong>  <code class=\"language-\">shuf<\/code> ve <code class=\"language-\">awk<\/code>'daki <code class=\"language-\">srand()<\/code> fonksiyonu, sistem zaman\u0131n\u0131 kullanarak rastgele say\u0131 \u00fcretecinin ba\u015flang\u0131\u00e7 de\u011ferini belirler. Bu, her \u00e7al\u0131\u015ft\u0131rmada farkl\u0131 bir rastgele \u00f6rneklem elde edilmesini sa\u011flar.<\/p>\n<p>2. <strong>\u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in daha iyi bir y\u00f6ntem var m\u0131?<\/strong>  \u00c7ok b\u00fcy\u00fck dosyalar i\u00e7in, dosyay\u0131 par\u00e7alar halinde i\u015flemek veya daha geli\u015fmi\u015f \u00f6rneklem alma algoritmalar\u0131 kullanmak daha verimli olabilir.  Bu, daha karma\u015f\u0131k bir kodlama gerektirir.<\/p>\n<p>3. <strong>Se\u00e7ilen sat\u0131rlar\u0131n s\u0131ras\u0131 \u00f6nemli mi?<\/strong>  <code class=\"language-\">shuf<\/code> komutu sat\u0131rlar\u0131 rastgele kar\u0131\u015ft\u0131rd\u0131\u011f\u0131 i\u00e7in, se\u00e7ilen sat\u0131rlar\u0131n s\u0131ras\u0131 rastgeledir.<\/p>\n<p>4. <strong>Ayn\u0131 sat\u0131r\u0131 birden fazla kez se\u00e7ebilir miyim?<\/strong>  <code class=\"language-\">shuf<\/code> komutu, ayn\u0131 sat\u0131r\u0131 birden fazla kez se\u00e7ebilir.  E\u011fer ayn\u0131 sat\u0131r\u0131n birden fazla kez se\u00e7ilmesini istemiyorsan\u0131z, daha karma\u015f\u0131k bir algoritma kullanman\u0131z gerekebilir.<\/p>\n<p>5. <strong>Ba\u015fka hangi ara\u00e7lar kullan\u0131labilir?<\/strong>  <code class=\"language-\">perl<\/code>, <code class=\"language-\">python<\/code> gibi di\u011fer komut sat\u0131r\u0131 ara\u00e7lar\u0131 da dosyadan rastgele sat\u0131r se\u00e7mek i\u00e7in kullan\u0131labilir.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash ile Dosyadan Rastgele Sat\u0131r Se\u00e7mek: Tam Bir Rehber Bir b\u00fcy\u00fck veri setinden rastgele \u00f6rnekler se\u00e7meniz mi&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1328],"tags":[],"class_list":{"0":"post-26191","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-bash","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-21T06:45:22+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me\",\"datePublished\":\"2025-07-21T06:45:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\"},\"wordCount\":1164,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Bash\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\",\"name\":\"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-21T06:45:22+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-21T06:45:22+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me","datePublished":"2025-07-21T06:45:22+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/"},"wordCount":1164,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Bash"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/","url":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/","name":"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-21T06:45:22+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bash-dosyadan-rastgele-satir-secme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash: Dosyadan Rastgele Sat\u0131r Se\u00e7me"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=26191"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26191\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=26191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=26191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=26191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}