我有一個在檔案中寫入文本的 for 回圈:
for f in $DATA_DIRECTORY
do
echo ' input.'$f '{'
echo ' copy = ${source.copy}"'$f'.CPY"'
echo ' data = ${source.data}"'$f'.CSV"'
echo ' }'
done
但是這里的“ f ”變數看起來像這樣:
/path/to/my/file/FILE.TXT
我想得到的只是檔案名,而不是完整路徑及其擴展名:
FILE
順便說一句,我試影像這樣更改我的 f 變數,所以我沒有得到擴展名,但它不起作用:
{$f%%.*}
uj5u.com熱心網友回復:
你需要兩行;不允許使用鏈式運算子。
f=${f##*/} # Strip the directory
f=${f%%.*} # Strip the extensions
或者,您可以使用該basename命令在一行中剝離目錄和一個擴展名(假設您知道它是什么)。
f=$(basename "$f" .txt)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/405834.html
標籤:
下一篇:第一行替換的awk條件
