ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 04/09/2015 - 16:59
נושא ההודעה: החלפת / מחיקת תווי סוף שורה

לעיתים אנחנו רוצים להחליף או למחוק את תווי סוף שורה (newline).

לדוגמא אנחנו עובדים עם SQL, והרצנו שאילתת select שמחזירה לנו את הערכים כאוסף של שורות, ואנחנו רוצים להשתמש בערכים האלה שהם מופרדים בפסיקים בשביל שאילתת update.

במקום להסתבך עם סקריפטים יש כלי פשוט שיחליף את תווי סוף שורה בפסיקים (או בכל תו אחר שתרצו, או ימחוק אותם).

קישור: http://www.convertforfree.com/line-breaks-replacer
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/09/2015 - 17:24
נושא ההודעה:

sed hello to say
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/09/2015 - 15:11
נושא ההודעה:

Anonymous :
sed hello to say


נכון שאפשר להשתמש ב-sed אבל הכלי הזה הוא אופציה נוספת למי שלא רוצה להשתמש בסקריפטים לכזאת משימה פשוטה.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/09/2015 - 21:06
נושא ההודעה:

Anonymous :
sed hello to say


I'd really like to see how one can sed newlines with something else..
Really, I'm too dumb to figure out how to do that...
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/09/2015 - 21:23
נושא ההודעה:

tr אפילו יותר קל

קוד:

cat /etc/shells | tr -d '\n'


ינון
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/09/2015 - 21:49
נושא ההודעה:

Anonymous :
tr אפילו יותר קל

קוד:

cat /etc/shells | tr -d '\n'


ינון


האם אפשר לעשות regex שמשתרע על פני יותר משורה אחת?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 09/09/2015 - 08:37
נושא ההודעה:

לא ממש. הדרך היחידה לעשות את זה ב־sed היא להתחיל לשמור מידע באוגר.

ב־awk (ובעקבות כך גם בפרל) אפשר להגדיר מחדש את ה־Record Seperator. לדוגמה, בדביאן יש לא מעט קבצים שבנוים עם בלוקים של שורות וכל בלוק כזה מופרד ע"י שורת רווח. אפשר להגדיר את ה־record seperator להיות שני תווי מעבר שורה כדי להתייחס לכל בלוק כ"רשומה".

בפרל אפשר גם להגדיר ביטויים רגולריים שפועלים על כל השורות. אבל אם משתמשים בפרל "כמו ב־sed" - ‏ perl -p -e 's/a/b'‎ , עדיין כל שורה נקראת בנפרד. כדי לעבוד על כל השורות ביחד צריכים לקרוא את כולן. לדוגמה:
קוד:

perl -e 'my $text = join ("", (<>)); $text =~ s/h\n.u/--/ms; print $text' /etc/shells
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. אורח
  4. אורח
  5. אורח
  6. אורח
  7. אורח [צפריר]