gpt4 book ai didi

linux - 将文件名插入 csv 文件的最后一列。

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:03 35 4
gpt4 key购买 nike

我想将 CSV 文件的文件名插入 CSV 文件的最后一列。

我找到了一个成功的 Windows 批处理文件,但我正在寻找一个 linux bash 脚本。

我附上了 Windows 批处理文件:

@echo off
setLocal EnableDelayedExpansion

for /f "tokens=* delims= " %%c in ('dir/b/a-d *.csv') do (
set FN=%%~Nc
set /a N=0

for /f "tokens=* delims= " %%a in (%%c) do (
set /a N+=1
if !N! equ 1 (
echo %%a, id > !FN!.csv
) else (
echo %%a, !FN! >> !FN!.csv
)
)
)

期待解决这个问题。

亨利

最佳答案

使用 (gnu)sed:

for file in *.csv; do
sed -i "s/$/,$file/" "$file"
done

使用 POSIX sed:

for file in *.csv; do
if sed "s/$/,$file/" "$file" > /tmp/"${file}".tmp; then
mv /tmp/"${file}.tmp" "$file"
fi
done

关于linux - 将文件名插入 csv 文件的最后一列。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749658/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com