[英]Shell Script With sed and Random number
如何制作一個shell腳本來接收一個或多個文本文件,並從中刪除空格和空白行。 之后,新文件將在其前面有一個隨機的2位數字。
例如File1.txt
生成File1_56.txt
試過這個:
#!/bin/bash
for file in "$*"; do
sed -e '/^$/d;s/[[:blank:]]//g' $* >> "$*_$$.txt"
done
但是,當我給2個文件作為輸入腳本時,它們會將它們合並為一個文件,而當我想要為每個文件分配一個單獨的文件時。
嘗試:
#!/bin/bash
for file in "$@"; do
sed -e '/^$/d;s/[[:blank:]]//g' "$file" >> "${file%.txt}_$$.txt"
done
要遍歷每個自變量而不會出現單詞拆分或其他危險,請使用for file in "$@"
for file in "$*"
而不是for file in "$*"
要在一個文件而不是全部文件上運行sed命令,請指定"$file"
作為文件,而不是$*
。
要將輸出保存到正確的文件中,請使用"${file%.txt}_$$.txt"
,其中${file%.txt}
是后綴刪除的示例:它將從文件名中刪除最終的.txt
。
$$
是進程ID。 標題說有一個“隨機”數字。 如果您想要一個隨機數,請將$$
替換為$RANDOM
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.