回答編集履歴
3
Update
test
CHANGED
@@ -18,3 +18,18 @@
|
|
18
18
|
M11 M12 M13 M14
|
19
19
|
```
|
20
20
|
|
21
|
+
**追記**
|
22
|
+
```bash
|
23
|
+
$ declare -a A=($(tail -n +2 source4.csv | cut -d, -f1))
|
24
|
+
$ echo "${A[@]}"
|
25
|
+
M11 M12 M13 M14
|
26
|
+
|
27
|
+
# GNU grep
|
28
|
+
$ grep --version
|
29
|
+
grep (GNU grep) 3.7
|
30
|
+
|
31
|
+
$ declare -a B=($(grep -Pzo -e '\n\s*\K(.+?)(?=\s*,)' source4.csv | tr '\0' '\n'))
|
32
|
+
$ echo "${B[@]}"
|
33
|
+
M11 M12 M13 M14
|
34
|
+
```
|
35
|
+
|
2
Update
test
CHANGED
@@ -4,15 +4,13 @@
|
|
4
4
|
#!/bin/bash
|
5
5
|
|
6
6
|
function extract_first_item {
|
7
|
-
# skip header
|
8
|
-
[[ $1 == 0 ]] && return
|
9
7
|
local -a c
|
10
8
|
IFS=, read -r -a c <<< "$2"
|
11
9
|
A+=("${c[0]}")
|
12
10
|
}
|
13
11
|
|
14
12
|
declare -a A
|
15
|
-
mapfile -t -c 1 -C extract_first_item < source4.csv
|
13
|
+
mapfile -t -c 1 -s 1 -C extract_first_item < source4.csv
|
16
14
|
|
17
15
|
echo "${A[@]}"
|
18
16
|
|
1
Update
test
CHANGED
@@ -6,9 +6,9 @@
|
|
6
6
|
function extract_first_item {
|
7
7
|
# skip header
|
8
8
|
[[ $1 == 0 ]] && return
|
9
|
-
local c
|
9
|
+
local -a c
|
10
|
-
IFS=, read -r c
|
10
|
+
IFS=, read -r -a c <<< "$2"
|
11
|
-
A+=("$c")
|
11
|
+
A+=("${c[0]}")
|
12
12
|
}
|
13
13
|
|
14
14
|
declare -a A
|