[英]How to read CSV file stored in variable
我想使用 Shell 讀取 CSV 文件,但由於某種原因它不起作用。
我用它在我的 csv 文件夾中找到最新添加的 csv 文件
lastCSV=$(ls -t csv-output/ | head -1)
這是計算行數。
wc -l $lastCSV
輸出
wc: drupal_site_livinglab.csv: No such file or directory
如果我回顯文件,它會說:drupal_site_livinglab.csv
你的問題是你是你試圖閱讀的路徑的一個目錄。 快速修復是wc -l "csv-output/$lastCSV"
。
請記住,解析ls -t
雖然方便,但並不完全可靠,因此您應該考慮這樣的事情來保護您免受尷尬的文件名:
last_csv=$(find csv-output/ -mindepth 1 -maxdepth 1 -printf '%T@\t%p\0' |
sort -znr | head -zn1 | cut -zf2-)
wc -l "$last_csv"
find
列出所有文件及其最后修改時間,使用空字節分隔輸出以避免文件名尷尬的問題。
-maxdepth 1
,這將成為遞歸搜索sort
從最新到最舊排列文件,使用-z
接受空字節分隔的輸入。head -z
返回排序列表中的第一條記錄。cut -z
會丟棄時間戳,只留下文件名。 你也find
用stat
替換find
(同樣,這里假設你有 GNU coreutils):
last_csv=$(stat csv-output/* --printf '%Y\t%n\0' | sort -znr | head -zn1 | cut -zf2-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.